Tauri vs. Electron – Vergleich anhand einer realen Anwendung
(levminer.com)Vergleich nach Punkten mit einer plattformübergreifenden 2FA-App namens Authme
- Bundle: Tauri, das die WebView des Betriebssystems nutzt, ist deutlich kleiner. 2,5 MB vs. 85 MB
- Startzeit: Tauri ~2 Sekunden vs. Electron ~4 Sekunden
- RAM-Nutzung:
- Unter Windows kein großer Unterschied: Tauri 80 MB, Electron 120 MB
- Unter Linux deutlicher Unterschied: Tauri 80 MB, bei Electron läuft viel zusätzlich, daher über 500 MB
- App-Backend: Electron nutzt die Node.js-Laufzeit, daher reicht JavaScript-Programmierung, während Tauri Rust-Code erfordert
- Laut Tauri-Roadmap sollen künftig auch Python, C++ und Deno unterstützt werden
- Rendering: Electron verwendet unter Windows/macOS/Linux überall Chromium, Tauri nutzt Windows (Edge WebView2) / Linux (WebKitGTK) / macOS (WebKit)
- Da es je nach Browser Unterschiede geben kann, muss man bei Tauri in manchen Fällen Polyfills einsetzen
- Sicherheit: Tauri hat sehr viele Sicherheitsfunktionen integriert und ist standardmäßig sicher
- Automatische Updates:
- Bei Tauri einfacher. Es gibt einen eingebauten Updater (mit dem Nachteil, dass man selbst einen Update-Server betreiben muss)
- Bei Electron wird oft
electron-updaterverwendet. Der Vorteil ist, dass sich Binärdateien direkt aus GitHub-Releases beziehen lassen, was praktisch ist
- Developer Experience:
- Bei Tauri reicht die Installation der CLI, dann ist sofort alles nutzbar (Hot Reloading, Bundling, App-Erstellung usw.)
- Electron liefert so etwas nicht mit, sondern nur das Framework selbst. Um Hot Reloading/Bundling muss man sich selbst kümmern
- Der größte Vorteil von Tauri ist die Kompatibilität mit allen Web-Frameworks
Fazit
- Entscheidung für Tauri
- Es gibt noch Bereiche mit Verbesserungsbedarf, aber in ein paar Jahren wird das Tauri-Team zu Electron aufschließen
- Besonders vielversprechend sind die Möglichkeit, Deno als Backend zu nutzen, sowie komfortablere automatische Updates und iOS-/Android-Unterstützung
6 Kommentare
Es scheint, dass Tauri keine selbst entwickelte Engine verwendet, sondern die im System vorhandene WebView-Bibliothek.
Beim Vergleich der Installer-Größe sind es 2,5 MB gegenüber 85 MB,
nach der Installation dann 3,64 MB gegenüber 221 MB.
Wow, das sieht echt gut aus!
Ich freue mich wirklich auf die Unterstützung für mobile Apps.
Als Rustacean freue ich mich sehr darüber, dass das Rust-Ökosystem wächst. Auf meinem Mac muss ich gleich drei Electron-Apps offen haben, und mein MacBook wird dabei extrem heiß, seufz.
Tauri – ein Framework für Desktop-Web-Apps, das kleine und schnelle ausführbare Dateien erzeugt
Tauri v1.0 veröffentlicht
Im Sicherheitsabschnitt des Artikels wird erwähnt, dass Electron vollen Zugriff auf die Node API haben kann.
Dieses
nodeIntegrationsteht jedoch seit 5.0 standardmäßig auffalse, und ab 20.0 ist zusätzlich Sandboxing aktiviert, sodass auch Electron seinerseits recht sicher ist.https://www.electronjs.org/docs/latest/tutorial/security