Electron-Apps: Der versteckte Preis für Bequemlichkeit
Electron: Warum Desktop-Apps sich manchmal einfach falsch anfühlen
Mal ganz ehrlich: Wer kennt das nicht? Du lädst dir eine Desktop-Anwendung herunter, installierst sie – und irgendwie stimmt was nicht. Technisch funktioniert alles, aber es fühlt sich einfach unangenehm an. Der Text ist zu klein. Das Fenster verhält sich anders als bei anderen Programmen. Und der RAM-Verbrauch? Da fragst du dich, ob die App vielleicht heimlich Kryptowährung schürft.
Willkommen in der Welt von Electron.
Was Electron eigentlich ist
Electron ist ein Framework, mit dem Entwickler Desktop-Anwendungen bauen können – und zwar mit Web-Technologien wie HTML, CSS und JavaScript. Das Versprechen klingt verlockend: Web-Entwickler können plötzlich Desktop-Apps entwickeln, ohne sich in native Codebasen für Windows, macOS und Linux einarbeiten zu müssen. Für schlanke Startups und ressourcenknappe Teams klingt das nach dem perfekten Deal.
Aber halt – da gibt's einiges, was die Marketing-Abteilung lieber verschweigt.
Das Trenchcoat-Problem
Ein Entwickler hat das treffend auf den Punkt gebracht: Electron-Apps sind im Grunde Webbrowser im Trenchcoat, die sich als native Software ausgeben. Und so falsch ist das gar nicht. Unter der schicken Desktop-Hülle werkelt nämlich eine vollständige Chromium-Instanz. Komplett mit JavaScript-Engine, Rendering-Engine und dem ganzen Overhead, der dazu gehört.
Das Ergebnis? Ein E-Mail-Client, der mehr RAM verbraucht als ein Videospiel. Eine Notiz-App, die drei Sekunden zum Starten braucht. Ein "schlankes" Werkzeug, das im Dock vor sich hin döst und fleißig Ressourcen verballert.
Warum die Web-Version oft besser ist
Das ist der Punkt, der mich wirklich nervt: In vielen Fällen ist die Browser-Version einer Anwendung tatsächlich besser als ihr Electron-Pendant auf dem Desktop. Gleicher Code, gleiche Funktionen – aber die Browser-Variante fühlt sich flinker und reaktionsschneller an.
Woran liegt das? Browser haben Jahrzehnte an Optimierung hinter sich. Die Hersteller konkurrieren aggressiv um Performance. Die Web-Rendering-Komponenten deines Betriebssystems werden automatisch mit Sicherheitsupdates versorgt. Electron-Apps schleppen hingegen ihre eigene Chromium-Version mit sich rum – eingefroren, bis der Entwickler sich entscheidet, ein Update zu verteilen. Wenn er das überhaupt tut.
Und nein, das ist kein theoretisches Problem. Sicherheitsforscher haben mehrfach dokumentiert, dass Electron-Apps mit bekannten Sicherheitslücken in ihren gebündelten Chromium-Komponenten ausgeliefert wurden. Der Browser, in dem du das hier liest? Der hat sich wahrscheinlich schon drei Mal selbst aktualisiert, seit du angefangen hast zu lesen. Die Electron-App auf deinem Desktop? Die arbeitet vielleicht noch mit Code von vor zwei Jahren.
Die Usability-Steuer
Reden wir über Benutzerfreundlichkeit. Bei nativen macOS- oder Windows-Anwendungen erwartest du bestimmte Verhaltensweisen: Cmd+Scroll zum Zoomen von Text. Fenster, die flüssig ihre Größe ändern. Tastenkürzel, die konsistent mit anderen Apps funktionieren.
Electron-Apps brechen diese Erwartungen ständig. Nicht weil die Entwickler sich nicht kümmern – viele tun es – sondern weil das Framework einfach nicht dafür gebaut wurde, natives Verhalten zu imitieren. Es ist, als würdest du einen Fisch bitten, einen Baum zu erklimmen, und dich dann wundern, dass er erschöpft ist.
Ich habe aufgehört zu zählen, wie oft ich mich durch Einstellungsmenüs geklickt habe, nur um in einer Electron-App den Text lesbar zu machen. Hin und her, nur um rauszufinden, ob meine Änderungen überhaupt wirken. Im Browser? Ein einfaches Strg+ oder Trackpad-Pinch. Aber das sei wohl zu fortgeschritten für manche Desktop-Anwendungen.
WebViews: Der Kompromiss, mit dem niemand zufrieden ist
Also, was ist die Alternative? Einige Entwickler weichen auf WebViews aus – also Systemkomponenten, die Web-Inhalte mit der eigenen Rendering-Engine des Betriebssystems darstellen. Das ist effizienter als Electron, weil die Web-Engine von allen Apps geteilt wird und Sicherheitsupdates über das OS laufen.
Aber WebViews haben ihre eigenen Probleme. Verschiedene Betriebssysteme nutzen verschiedene Web-Engines. Deine App könnte auf Windows leicht anders aussehen als auf macOS oder Linux. Dieses "Einmal schreiben, überall laufen"-Versprechen bekommt erste Risse.
Die ehrliche Wahrheit? Es gibt keine perfekte Lösung. Native Apps bieten die beste Performance und das beste Nutzererlebnis, erfordern aber separate Codebasen für jede Plattform. Electron bietet Entwicklungs-Komfort zum Preis von Ressourcenverbrauch und Sicherheitsrisiken. WebViews teilen die Differenz auf unbequeme Weise.
Was nun?
Wenn du Entwickler bist und Desktop-Anwendungen baust: Überlege dir ernsthaft, ob Electron die richtige Wahl ist. Denk an deine Nutzer. Denk daran, dass ein Entwickler, der über deine App twittert, sie vielleicht als "Webbrowser im Trenchcoat" bezeichnen wird. Denk daran, dass "bei mir funktioniert's" eine ganz neue Bedeutung bekommt, wenn du eine komplette Browser-Instanz mit deinem Code auslieferst.
Wenn du Nutzer bist: Hab kein schlechtes Gewissen, wenn du dich über diese träge Electron-App beschwerst. Dein Frust ist berechtigt. Die Speicherbelastung, die inkonsistente Oberfläche, der zu kleine Text – das sind keine Kleinigkeiten. Das sind echte Auswirkungen auf deinen Workflow, und sie verdienen Aufmerksamkeit.
Am Ende des Tages sollten wir Werkzeuge bauen, die sowohl Entwickler als auch Nutzer respektieren. Manchmal bedeutet das, Bequemlichkeit zu wählen. Manchmal bedeutet es, die extra Arbeit zu investieren, um Dinge richtig zu machen. Die Frage ist nicht, ob Electron gut oder schlecht ist – sondern ob es die richtige Wahl für das ist, was du erreichen willst.
Das Trenchcoat-Bild funktioniert, weil es im Kern um Verkleidung geht. Electron-Apps geben sich oft als etwas aus, was sie nicht sind. Vielleicht wird es Zeit, die Verkleidung abzulegen und Software zu bauen, die weiß, was sie sein will.