23 पॉइंट द्वारा xguru 2025-04-16 | 6 टिप्पणियां | WhatsApp पर शेयर करें
  • रिमोट pair programming के लिए एक ultra-low-latency remote control app विकसित करते समय, ऐप framework के रूप में Tauri को अपनाया गया
    • इसे चुनने के कारण थे परफ़ॉर्मेंस, मेमोरी दक्षता, Sidecar support आदि
  • Rust-आधारित backend + system WebView के उपयोग से Electron की तुलना में ऐप साइज़ और मेमोरी उपयोग बहुत कम है
  • Tauri v2 में फीचर गैप भी तेजी से कम हो रहा है, और auto-update, Sidecar जैसे core features built-in हैं
  • Electron अभी भी शक्तिशाली है, लेकिन Hopp की विशेष ज़रूरतों के लिए Tauri अधिक उपयुक्त है

Hopp ने Tauri क्यों चुना

पृष्ठभूमि: cross-platform app framework का चयन

  • Hopp को Windows, macOS, Linux पर एक समान चलने वाला high-performance desktop app चाहिए था
  • Electron और Tauri प्रमुख विकल्प थे, और दोनों के स्पष्ट फायदे और सीमाएँ हैं
  • Hopp टीम ने दीर्घकालिक maintainability और performance को महत्व देकर चयन किया

Tauri vs. Electron: संरचनात्मक अंतर

  • Electron संरचना

    • Node.js runtime को शामिल करना पड़ता है → ऐप साइज़ बढ़ता है
    • हर window अलग renderer process (Chromium engine) का उपयोग करती है → मेमोरी खपत अधिक
    • सिस्टम के साथ गहरा integration करने के लिए अलग process की आवश्यकता होती है
  • Tauri संरचना का सार

    • backend Rust-आधारित native binary है → अलग runtime की ज़रूरत नहीं
    • system WebView का उपयोग (Windows: WebView2, macOS: WKWebView, Linux: WebKitGTK)
    • window की संख्या बढ़ने पर मेमोरी दक्षता अच्छी रहती है, लेकिन browser engine mismatch issues को मैनेज करना पड़ता है

मुख्य फीचर तुलना

  • स्टार्टअप समय Tauri और Electron दोनों में तेज़ है, और अनुभव में बड़ा अंतर नहीं है
  • मेमोरी उपयोग में Tauri काफी कम है
    • Tauri लगभग 172MB मेमोरी उपयोग करता है
    • Electron लगभग 409MB उपयोग करता है, यानी लगभग 2 गुना से भी अधिक मेमोरी खपत
  • rendering engine के संदर्भ में
    • Tauri ऑपरेटिंग सिस्टम में built-in WebView का उपयोग करता है, इसलिए ऐप साइज़ छोटा और हल्का रहता है
    • Electron Chromium engine को सीधे ऐप में शामिल करता है, इसलिए अधिक resources उपयोग करता है
  • backend language के रूप में
    • Tauri Rust का उपयोग करता है, जिससे high-performance native code लिखा जा सकता है
    • Electron JavaScript(Node.js) आधारित है, जो web developers के लिए परिचित है, लेकिन performance अपेक्षाकृत कम है
  • प्रारंभिक build time में
    • Tauri में Rust compilation शामिल होने के कारण शुरुआती build धीमा होता है
    • Electron में JS आधारित होने से शुरुआती build तेज़ होता है
  • ऐप साइज़ की तुलना में
    • Tauri लगभग 8.6MiB है, यानी बहुत हल्का
    • Electron लगभग 244MiB है, यानी लगभग 28 गुना बड़ा

Hopp ने Tauri क्यों चुना: निर्णायक कारण

  • 1. high-performance Rust backend

    • WebRTC-आधारित ultra-low-latency video streaming को implement करना ज़रूरी था
    • Electron में इसके लिए अलग process चलाना पड़ता, लेकिन Tauri में इसे सीधे Rust backend में implement किया जा सकता है
  • 2. Sidecar process support

    • streaming और input processing को अलग binary में विभाजित कर मैनेज किया गया
    • Tauri Sidecar को आधिकारिक रूप से support करता है → lifecycle और communication management आसान
    • आगे cursor rendering के लिए Tauri egui में विस्तार पर भी विचार किया जा रहा है
  • 3. तेजी से विकसित होता फीचर support

    • Tauri v2 में auto-update जैसे core features built-in हैं
    • Electron की तुलना में यह अपेक्षाकृत नया है, लेकिन security और performance-केंद्रित vision Hopp के साथ मेल खाता है

निष्कर्ष: कौन-सा framework बेहतर है?

  • Electron और Tauri दोनों शानदार desktop app frameworks हैं
  • प्रोजेक्ट की प्रकृति के अनुसार चयन बदल सकता है
    • Electron: तेज़ development, JS-friendly, व्यापक ecosystem
    • Tauri: छोटा, हल्का, तेज़, और Rust-आधारित performance के लिए optimized
  • Hopp ने performance-केंद्रित tech stack और अलग process architecture की आवश्यकता के कारण Tauri को अपनाया

6 टिप्पणियां

 
naratteu 2025-04-20

मैं webui का इस्तेमाल कर रहा हूँ। इसका साइज़ भी छोटा है और runtime dependency भी काफ़ी कम हैं।

 
sddsdd94 2025-04-16

अच्छा होगा अगर Wails की भी साथ में तुलना की जाए

 
secret3056 2025-04-16

मुझे तो उल्टा ज़्यादातर मामलों में यही लगता है कि Electron से काम चल जाता है।
शायद इसलिए क्योंकि शुरुआती Tauri में back-end और front-end के बीच communication का अनुभव मुझे खास अच्छा नहीं लगा था...

 
softer 2025-04-16

मुझे लगता है कि browser engine का अंतर एक बड़ा मुद्दा है, लेकिन mobile सहित support को ध्यान में रखें तो यह छोटा भी लगने लगता है।

 
pcj9024 2025-04-16

अगर ऐप के size की समस्या बड़ी है, तो बिना किसी सवाल के Tauri की तरफ जाना सही है।

 
wfedev 2026-01-16

लगता है कि यह सही विकल्प है या नहीं, इसे size, memory और sidecar के साथ इस्तेमाल करके देखना पड़ेगा! परिचय के लिए धन्यवाद।