Tauri vs. Electron - वास्तविक एप्लिकेशन के साथ तुलना
(levminer.com)Authme नाम के एक cross-platform 2FA app के ज़रिए बिंदुवार तुलना
- Bundle: OS के webview का उपयोग करने वाला Tauri काफ़ी छोटा है। 2.5MB vs. 85MB
- Startup time: Tauri ~2 सेकंड vs. Electron ~4 सेकंड
- RAM उपयोग:
- Windows में Tauri 80MB, Electron 120MB, यानी बहुत बड़ा अंतर नहीं
- Linux में Tauri 80MB, जबकि Electron की तरफ़ कई चीज़ें चलने लगती हैं, इसलिए 500MB से ज़्यादा तक बड़ा अंतर दिखता है
- App Backend: Electron, Node.js runtime का उपयोग करता है, इसलिए JavaScript coding काफ़ी है, लेकिन Tauri में Rust coding की ज़रूरत होती है
- Tauri roadmap के अनुसार Python, C++, Deno support भी आने वाला है
- Rendering: Electron, Windows/macOS/Linux सभी पर Chromium का उपयोग करता है, जबकि Tauri, Windows (Edge WebView2)/Linux (WebKitGTK)/macOS (WebKit) का उपयोग करता है
- Browser के हिसाब से अंतर हो सकता है, इसलिए Tauri में कुछ मामलों में polyfill का उपयोग करना पड़ सकता है
- Security: Tauri में बहुत-सी security features built-in हैं, इसलिए यह डिफ़ॉल्ट रूप से सुरक्षित है
- Automatic update:
- Tauri की तरफ़ यह ज़्यादा सरल है। इसमें built-in Updater है (हालाँकि आपको अपना update server खुद चलाना पड़ता है, यह एक कमी है)
- Electron में electron-updater काफ़ी इस्तेमाल होता है। इसका फ़ायदा यह है कि GitHub release से सीधे binary लाना संभव है, इसलिए यह सुविधाजनक है
- Developer experience:
- Tauri में सिर्फ़ CLI install करते ही सब कुछ तुरंत इस्तेमाल किया जा सकता है (hot reloading, bundling, app generation आदि)
- Electron में ऐसा नहीं है; यह सिर्फ़ framework देता है। hot reloading/bundling आपको खुद संभालना पड़ता है
- Tauri की सबसे बड़ी ताकत यह है कि यह सभी web framework के साथ compatible है
निष्कर्ष
- Tauri को चुना गया
- अभी कुछ कमियाँ हैं, लेकिन कुछ वर्षों में Tauri टीम Electron की बराबरी कर लेगी
- खास तौर पर जिस चीज़ की उम्मीद है, वह है backend के रूप में Deno का उपयोग संभव होना, और अधिक सुविधाजनक automatic update तथा iOS/Android support
6 टिप्पणियां
लगता है कि Tauri अपना खुद का बना हुआ इंजन नहीं, बल्कि सिस्टम में मौजूद webview लाइब्रेरी का उपयोग करता है.
इंस्टॉलर साइज की तुलना में यह 2.5MB vs. 85MB है,
और इंस्टॉल के बाद 3.64MB vs. 221MB हो जाता है।
वाह, यह अच्छा लग रहा है!
मोबाइल ऐप सपोर्ट का मुझे सच में बहुत इंतज़ार है।
एक Rustacean के तौर पर Rust ecosystem का बढ़ना देखकर बहुत खुशी होती है। मुझे Mac पर Electron ऐप्स के 3 इंस्टेंस खुले रखने पड़ते हैं, और इससे MacBook बहुत ज़्यादा गर्म हो जाता है T_T
Tauri - छोटे और तेज़ executable बनाने के लिए desktop web app framework
Tauri v1.0 रिलीज़
लेख के बीच वाले सुरक्षा हिस्से में यह कहा गया है कि Electron को Node API का full access मिल सकता है,
लेकिन
nodeIntegrationका default value 5.0 के बाद से false है, और 20.0 से sandboxing भी लागू है, इसलिए Electron भी अपने स्तर पर काफ़ी सुरक्षित है.https://www.electronjs.org/docs/latest/tutorial/security