Wer eine Desktop-App für Windows, macOS oder Linux plant, landet schnell bei Tauri und Electron. Beide Frameworks verbinden Web-Technologien mit einer installierbaren Anwendung. Daraus folgt aber nicht, dass sie austauschbar sind. Sie unterscheiden sich beim Laufzeitmodell, bei Systemrechten, Paketgröße, Rendering, Ökosystem und bei der Art, wie ein Team Sicherheit betreiben muss.
Die richtige Entscheidung beginnt deshalb nicht mit der Frage, welches Framework moderner wirkt. Sie beginnt mit dem Arbeitsablauf: Welche Daten liegen lokal? Welche Betriebssystemfunktionen werden benötigt? Muss die App offline funktionieren? Wie werden Updates verteilt? Und welche Teile dürfen der Oberfläche überhaupt vertrauen?
Wann eine Desktop-App überhaupt sinnvoll ist
Eine Web-App ist oft schneller auszurollen und zentral zu aktualisieren. Eine Desktop-App ist besonders dann sinnvoll, wenn mindestens einer dieser Punkte geschäftskritisch ist:
- große lokale Dateien oder Verzeichnisse müssen verarbeitet werden;
- Drucker, Scanner, Kamera, serielle Geräte oder andere lokale Schnittstellen werden benötigt;
- der Kernprozess muss auch ohne stabile Internetverbindung funktionieren;
- Hintergrundaufgaben, Tray-Menüs, globale Tastenkürzel oder Systembenachrichtigungen gehören zum Produkt;
- Unternehmen brauchen kontrollierte Installationsstände und einen definierten Updatekanal;
- eine vorhandene Web-Oberfläche soll um klar begrenzte lokale Fähigkeiten ergänzt werden.
Wenn dagegen alle Funktionen zuverlässig im Browser laufen, keine lokale Integration nötig ist und Nutzer ohne Installation starten sollen, kann die Web-App die bessere und günstigere Entscheidung bleiben.
Tauri und Electron im direkten Vergleich
| Kriterium | Tauri | Electron |
|---|---|---|
| Laufzeit | WebView des Betriebssystems plus Rust-Kern | mitgeliefertes Chromium plus Node.js |
| Rendering | kann sich zwischen Betriebssystem-WebViews unterscheiden | durch eigenes Chromium weitgehend konsistent |
| Lokale Fähigkeiten | über Commands, Plugins, Permissions und Capabilities begrenzbar | über Main Process, Preload und kontrollierte IPC |
| Paket und Speicher | häufig kleiner, da kein vollständiges Chromium gebündelt wird | typischerweise größer, dafür kontrollierte Browserlaufzeit |
| Ökosystem | Rust plus wachsendes Tauri-Plugin-System | reifes JavaScript- und Node-Ökosystem |
| Team-Fit | stark, wenn Rust-Kompetenz und strikte native Grenzen gewünscht sind | stark, wenn das Team tief in TypeScript, Node und komplexen Web-UIs arbeitet |
Wann Tauri die bessere Grundlage sein kann
Tauri passt gut, wenn ein schlanker lokaler Kern, explizite Fähigkeiten und Rust für sicherheitsrelevante oder systemnahe Logik gewünscht sind. Die Web-Oberfläche ruft nur die freigegebenen Commands auf. Dateizugriff, Shell-Aktionen, Fensterrechte oder Plugins können auf konkrete Fenster und Funktionen begrenzt werden.
Das ist kein automatischer Sicherheitsgewinn. Unsichere Commands, zu breite Capabilities oder ungeprüfte Plugins bleiben riskant. Außerdem nutzen die Plattformen unterschiedliche WebViews. Eine Oberfläche muss daher auf den tatsächlich unterstützten Windows-, macOS- und Linux-Versionen getestet werden.
Wann Electron die bessere Grundlage sein kann
Electron ist stark, wenn ein identisches Chromium-Verhalten auf mehreren Betriebssystemen wichtig ist, eine komplexe bestehende Web-App eingebettet wird oder benötigte Integrationen im Node-Ökosystem bereits stabil verfügbar sind. Das reife Packaging- und Tooling-Umfeld kann den Weg zu mehreren Plattformen verkürzen.
Die zentrale Grenze verläuft zwischen Renderer, Preload und Main Process. Remote-Inhalte dürfen keinen unkontrollierten Node-Zugriff erhalten. Context Isolation, Sandbox, eine enge Content Security Policy und validierte IPC-Nachrichten sind Pflicht. Auch Navigationsziele, neue Fenster, Deep Links und Dateipfade müssen geprüft werden.
Offline-Betrieb braucht ein eigenes Datenmodell
Offline bedeutet mehr als einen lokalen Cache einzuschalten. Die App muss wissen, welche Daten lokal führend sind, welche Änderungen synchronisiert werden, wie Konflikte gelöst werden und wie Nutzer einen unvollständigen Zustand erkennen. Eine belastbare Umsetzung trennt mindestens lokale Operation, ausstehende Synchronisation, bestätigten Serverzustand und fehlgeschlagene Wiederholung.
- Jede schreibende Operation erhält eine stabile ID und kann sicher wiederholt werden.
- Konflikte werden nach einer dokumentierten Regel gelöst oder sichtbar zur Klärung gestellt.
- Abmeldung, Mandantenwechsel und Geräteverlust berücksichtigen lokale Daten.
- Sensible Daten werden nur gespeichert, wenn der Prozess sie wirklich benötigt.
Signierung, Notarisierung und Updates gehören zum Produkt
Ein lokaler Build ist noch kein Release. Windows und macOS erwarten für einen professionellen Vertrieb signierte Artefakte; bei macOS kommt je nach Vertriebsweg die Notarisierung hinzu. Linux benötigt passende Pakete oder ein vereinbartes Distributionsformat. Zertifikate, Plattformkonten und externe Dienste gehören in der Regel dem Auftraggeber oder Betreiber.
Automatische Updates brauchen eine vertrauenswürdige Quelle, signierte Metadaten, einen gestaffelten Rollout und einen Rückfallplan. Ein Update darf lokale Daten nicht unbemerkt beschädigen. Deshalb werden Migrationen und Downgrade-Grenzen bereits vor dem ersten öffentlichen Release getestet.
Die wirtschaftliche Entscheidung
Die Entwicklungszeit hängt weniger am Framework-Namen als an Plattformanzahl, lokalen Integrationen, Offline-Komplexität, Signierung, Testmatrix und Betrieb. Eine einzige Web-Codebasis reduziert nicht automatisch alle Kosten: Jede unterstützte Plattform bleibt ein eigener Release- und Qualitätspfad.
Für Version 1 ist es oft sinnvoll, einen vollständigen Kernablauf auf den wichtigsten Plattformen zu liefern und optionale Integrationen später zu ergänzen. Ein technischer Spike sollte zuerst das größte Risiko beweisen – zum Beispiel Gerätezugriff, große Dateien, Offline-Synchronisation oder den Signierungsprozess.
Entscheidungscheck vor dem Start
- Welche Funktion kann eine Web-App nicht zuverlässig erfüllen?
- Welche Betriebssysteme und Versionen werden verbindlich unterstützt?
- Welche lokalen Rechte braucht jedes Fenster tatsächlich?
- Wie verhalten sich Daten bei Netzverlust und Konflikten?
- Wer besitzt Zertifikate, Plattformkonten und Update-Infrastruktur?
- Wie werden Installer, Migrationen, Updates und Rollbacks getestet?
- Welche Messgröße zeigt nach dem Launch einen echten Nutzen?
Nächster Schritt
TEX8 entscheidet Tauri oder Electron anhand des Produkts und kann dieselben Rust-Backends mit Mobile- und Web-Oberflächen verbinden. Auf der Seite zur Desktop-App-Entwicklung finden Sie Leistungsumfang, Sicherheitsgrenzen und Ablauf. Konkrete Beispiele zeigen die KI-Trading-App und die Mobile- und Desktop-Wallet.
