IRCNF

Electron hat den Desktop-App-Krieg gewonnen – und seine Herausforderer verändern jetzt die Entwicklung

Teilen:
Electron hat den Desktop-App-Krieg gewonnen – und seine Herausforderer verändern jetzt die Entwicklung

2013 veröffentlichte GitHub Atom, einen Texteditor, der auf einem Framework basierte, das einen vollständigen Chromium-Browser und die Node.js-Laufzeitumgebung in eine Desktop-Anwendung einbettete. Das später als Electron ausgegliederte Framework erschien leistungsorientierten Entwicklern absurd: Warum einen ganzen Webbrowser bündeln, um einen Texteditor auszuführen?

Dreizehn Jahre später betreibt Electron das meistgenutzte Entwicklerwerkzeug der Welt. Visual Studio Code, Slack, Discord, Figmas Desktop-Client, Notion, 1Password und Dutzende anderer kategorieprägender Anwendungen basieren alle auf Electron. Ungeachtet aller theoretischen Einwände – Electron hat gewonnen. Die Frage ist jetzt, ob es seine Dominanz halten kann, während eine neue Generation von Frameworks seine Schwächen attackiert.

Warum Electron gewonnen hat

Electrons zentrales Wertversprechen ist einfach: Einmal in HTML, CSS und JavaScript schreiben und auf Windows, macOS und Linux ausrollen, ohne getrennte Codebasen pflegen zu müssen. Für Teams, die bereits Web-Apps entwickeln, ist der Transfer von Fähigkeiten nahezu null. Das npm-Ökosystem bietet Millionen von Paketen. Chomes DevTools funktionieren zum Debuggen. Das Rendering-Verhalten ist plattformübergreifend völlig vorhersehbar, weil es immer dieselbe Browser-Engine ist.

Der Business Case lag auf der Hand. Verglichen mit der getrennten Einstellung nativer Plattformspezialisten für macOS (Swift/Objective-C) und Windows (C#/WinRT) war ein einzelnes JavaScript-Team, das eine Codebasis wartet, dramatisch günstiger. Slack baute bekanntermaßen seinen macOS-Client von einer nativen App auf Electron um und reduzierte so die Entwicklerzahl für das Desktop-Team. Der Kompromiss bei der Leistung wurde angesichts der geringeren Komplexität als akzeptabel bewertet.

Die wahren Kosten

Die Beschwerden über Electron sind real und gut dokumentiert. Eine typische Electron-Anwendung bündelt etwa 150–200 MB Chromium und Node.js, was bedeutet, dass jede Electron-App ihre eigene Kopie eines Browsers mitbringt. Discords Installer ist über 90 MB groß, VS Code etwa 100 MB. Multipliziert man das mit den 15 bis 20 Electron-Apps, die ein typischer Entwickler nutzt, kommen Gigabyte an redundanten Browser-Installationen auf dem Rechner zusammen.

Der Speicherverbrauch ist das unmittelbarere Problem. Discord verbraucht im Leerlauf regelmäßig 600–900 MB RAM. Slack hat historisch ähnliche Mengen belegt. Auf einem MacBook mit 8 GB Unified Memory bedeutet der gleichzeitige Betrieb von drei Electron-Apps, dass ein erheblicher Teil des verfügbaren Arbeitsspeichers für Anwendungen reserviert wird, die im Grunde nur darauf warten, dass man sie anschaut.

Die Startzeit ist langsamer als bei nativen Äquivalenten. Das Öffnen von VS Code bei kaltem Start dauert merklich länger als bei einem nativen Editor. Für Power-User, die Apps den ganzen Tag laufen lassen, ist das eine kleine Unannehmlichkeit. Für Nutzer, die Apps regelmäßig schließen und neu öffnen, summiert es sich.

Tauri: der leichte Herausforderer

Tauri, erstmals 2021 veröffentlicht und 2024 in Version 2.0, verfolgt einen anderen architektonischen Ansatz. Statt Chromium zu bündeln, nutzt es die systemeigene WebView – WebKit unter macOS und Linux, WebView2 (Edges Rendering-Engine) unter Windows. Das Backend läuft auf Rust statt auf Node.js.

Das Ergebnis sind dramatisch kleinere Anwendungen. Eine minimale Tauri-App erzeugt einen Installer unter 4 MB. Der Speicherverbrauch im Leerlauf kann bei einfachen Anwendungen unter 50 MB liegen. Rusts Sicherheitsgarantien und Leistungsmerkmale machen das Backend für CPU-intensive Operationen effizienter als Node.js.

Der Kompromiss ist die Rendering-Konsistenz. Da Tauri die systemeigene WebView verwendet, kann das Rendering zwischen Plattformen variieren – WebKit verhält sich in Randfällen anders als WebView2. Entwickler, die an Electrons Garantie „es sieht immer aus wie Chrome“ gewöhnt sind, müssen mehr plattformübergreifende Tests durchführen. CSS oder JavaScript, das unter macOS einwandfrei funktioniert, kann unter Windows subtile Unterschiede aufweisen.

Trotzdem hat Tauri ernsthafte Akzeptanz gefunden. Bitwarden migrierte seinen Desktop-Client 2023 von Electron auf Tauri und berichtete von drastisch reduziertem Speicherverbrauch und Installergröße. Sicherheitsbewusste Anwendungen profitieren besonders: Tauris kleinere Angriffsfläche – keine gebündelte Node.js-Laufzeit, keine vollständige Browser-Engine – ist für Apps, die sensible Daten verarbeiten, bedeutsam.

Weitere Mitbewerber

Wails bringt Go in dieselbe WebView-basierte Architektur, die Tauri etabliert hat, und spricht Teams an, die bereits in das Go-Ökosystem investiert sind. Flutter, ursprünglich ein Mobile-Framework, hat auf dem Desktop Produktionsqualität erreicht und bietet eine vollständig eigene Rendering-Engine – gar keine WebView – mit pixelgenauer Konsistenz über Plattformen hinweg, allerdings um den Preis einer steileren Lernkurve.

Progressive Web Apps (PWAs) bleiben für Anwendungen geeignet, die keine tiefe Systemintegration benötigen. Chrome und Edge unterstützen beide die Installation von PWAs als Desktop-Anwendungen, und die Funktionslücke zwischen PWAs und Electron-Apps hat sich in den letzten Jahren erheblich verkleinert. Für Apps, die hauptsächlich Inhalte anzeigen und keinen Zugriff auf das Dateisystem, lokale Ports oder Systembenachrichtigungen benötigen, sind PWAs oft die sinnvolle Wahl.

Warum Electron nicht verschwindet

Trotz seiner Herausforderer ist Electrons Burggraben tief. Das Ökosystem aus Electron-kompatiblen Paketen, Werkzeugen und Tutorials ist enorm. Teams mit bestehenden Electron-Codebasen haben wenig Anreiz, funktionierende Anwendungen neu zu schreiben. Die Leistungsbeschwerden sind zwar berechtigt, haben sich aber als erträglich genug erwiesen, dass Nutzer weiterhin zig Millionen Electron-Apps installieren.

Microsofts fortgesetzte Investition in VS Code – die meistgenutzte IDE der Welt, basierend auf Electron – signalisiert, dass das Framework auf absehbare Zeit aktiv gewartet wird. Electrons Kernteam hat die Leistung im Laufe der Jahre auch deutlich verbessert: V8s JavaScript-Engine ist dramatisch schneller als 2013, und Chromiums Speicherverwaltung hat sich verbessert.

Die Landschaft 2026

Das Desktop-App-Ökosystem 2026 ist vielfältiger als zu jeder Zeit in Electrons Geschichte. Electron dominiert weiterhin bei Anwendungen, bei denen Rendering-Konsistenz, breite npm-Kompatibilität und Entwicklervertrautheit am wichtigsten sind. Tauri gewinnt bei Anwendungen, bei denen Sicherheit, Binärgröße oder Startleistung kritische Einschränkungen sind. Flutter erobert sich Raum für Apps mit individuellen UI-Anforderungen. PWAs knabbern weiter an Anwendungsfällen, die keine Systemintegration benötigen.

Der eigentliche Wandel liegt darin, wie neue Anwendungen entwickelt werden. Teams, die 2026 Desktop-Projekte starten, denken gründlicher über die Kompromisse nach als noch 2018. Electron ist nicht mehr die Standardlösung – es ist eine Option unter mehreren, jede mit einem anderen Leistungs- und Komplexitätsprofil. Das ist ein gesünderes Ökosystem als die Ära, in der „eine Desktop-App bauen“ gleichbedeutend war mit „eine Electron-App bauen“, ob es passte oder nicht.

Teilen:
Electron hat den Desktop-App-Krieg gewonnen – und seine Herausforderer verändern jetzt die Entwicklung | IRCNF - Intelligent Reliable Custom Next-gen Frameworks