30 Punkte von xguru 2022-08-23 | 6 Kommentare | Auf WhatsApp teilen

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-updater verwendet. 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

 
joone 2022-08-29

Es scheint, dass Tauri keine selbst entwickelte Engine verwendet, sondern die im System vorhandene WebView-Bibliothek.

 
kayws426 2022-08-23

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.

 
ifmkl 2022-08-23

Wow, das sieht echt gut aus!

 
jjpark78 2022-08-23

Ich freue mich wirklich auf die Unterstützung für mobile Apps.

 
freedomzero 2022-08-23

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.

 
xguru 2022-08-23

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 nodeIntegration steht jedoch seit 5.0 standardmäßig auf false, und ab 20.0 ist zusätzlich Sandboxing aktiviert, sodass auch Electron seinerseits recht sicher ist.
https://www.electronjs.org/docs/latest/tutorial/security