
Electron
Electron ist ein Baukasten, mit dem Entwickler Programme für Windows, macOS und Linux mit denselben Techniken bauen wie Webseiten. Jede Electron-Anwendung bringt dafür einen kompletten Browser mit, was die Entwicklung stark beschleunigt, aber viel Arbeitsspeicher kostet.
Electron ist ein Werkzeugkasten, mit dem man Programme für den Computer baut. Das Besondere daran: Man benutzt dafür dieselben Techniken wie für eine Webseite. Der sichtbare Teil eines solchen Programms ist also im Grunde eine Webseite. Sie läuft nur nicht im Browser, sondern in einem eigenen Fenster mit eigenem Symbol im Startmenü. Für die Nutzerin oder den Nutzer sieht das aus wie ein ganz normales Programm. Bekannte Beispiele sind der Chat-Dienst Slack, der Code-Editor Visual Studio Code und die Notiz-App Notion.
Ein Programm, drei Betriebssysteme
Früher musste ein Unternehmen sein Programm dreimal schreiben, wenn es überall laufen sollte. Einmal für Windows, einmal für Apples macOS, einmal für Linux. Jede dieser Versionen brauchte eigene Fachleute und eigene Pflege. Fehler mussten dreimal gesucht und dreimal behoben werden. Das war teuer und langsam.
Electron löst dieses Problem, indem alle drei Versionen aus demselben Quelltext entstehen. Ein kleines Team kann so eine Anwendung für alle gängigen Systeme anbieten. Hinzu kommt: Webentwickler gibt es sehr viele. Ein Unternehmen findet leichter jemanden, der Webseiten programmieren kann, als jemanden, der sich mit den Eigenheiten von macOS auskennt. Deshalb wurde Electron seit seiner Veröffentlichung 2013 zum Standard für viele Firmenprodukte.
Der Preis dafür ist Rechenleistung. Electron-Programme gelten als schwerfällig und speicherhungrig. In Foren ist das ein Dauerthema, und manche Firmen werben inzwischen ausdrücklich damit, dass ihre Software ohne Electron auskommt. Die Entscheidung für Electron ist also immer ein Abwägen zwischen Entwicklungstempo und Sparsamkeit.
Ein eingebauter Browser in jeder App
Electron bündelt zwei fertige Bausteine. Der erste ist Chromium, der offene Kern des Google-Chrome-Browsers. Er zeichnet alles, was man sieht: Knöpfe, Texte, Menüs. Der zweite ist Node.js, eine Umgebung, in der Programmiersprache JavaScript auch außerhalb eines Browsers laufen kann. Node.js übernimmt die Aufgaben, die eine Webseite normalerweise nicht darf, etwa Dateien auf der Festplatte lesen oder speichern.
Eine Electron-Anwendung besteht deshalb aus zwei getrennten Teilen. Der Hauptprozess verwaltet Fenster, Menüs und den Zugriff auf das System. Der Renderer-Prozess zeigt die Oberfläche an und verhält sich wie ein Browser-Tab. Beide tauschen Nachrichten aus, wenn etwa ein Klick auf 'Speichern' zu einer echten Datei führen soll. Diese Trennung hat auch Sicherheitsgründe: Der Oberflächenteil soll nicht ungeprüft auf die Festplatte zugreifen können.
Der entscheidende Punkt ist, dass jede Electron-App ihre eigene Kopie von Chromium mitbringt. Sie verlässt sich nicht auf den Browser, der ohnehin installiert ist. Dadurch läuft die Anwendung überall exakt gleich. Gleichzeitig erklärt das die Größe: Eine schlichte Notiz-App kann leicht 150 Megabyte belegen. Und wer drei Electron-Programme gleichzeitig offen hat, hat faktisch drei Browser laufen.
Software, die man täglich benutzt
Viele bekannte Desktop-Programme sind Electron-Anwendungen, ohne dass man es merkt. Der Chat-Dienst Discord gehört dazu, ebenso Slack, Signal für den Rechner und der weit verbreitete Programmier-Editor Visual Studio Code von Microsoft. Auch WhatsApp Desktop und Teile von Spotify setzen auf ähnliche Technik. Wenn ein Programm auffällig genauso aussieht wie seine Webseite, steckt oft Electron dahinter.
In Nachrichtenmeldungen taucht der Begriff meist im Zusammenhang mit Kritik auf. Dann geht es um Programme, die mehrere Gigabyte Arbeitsspeicher belegen oder den Akku eines Laptops schnell leeren. Als Gegenbewegung sind Alternativen wie Tauri entstanden. Diese nutzen den Browser, der im Betriebssystem bereits vorhanden ist, und kommen so mit deutlich weniger Speicherplatz aus.
Ein häufiges Missverständnis: Electron ist keine Programmiersprache und keine Künstliche Intelligenz. Es ist reine Verpackungstechnik für Software. Für KI-Themen ist Electron trotzdem relevant, weil viele Desktop-Programme von KI-Firmen so gebaut sind. Wenn ein Chatbot-Anbieter eine App für den Rechner veröffentlicht, ist das erstaunlich oft eine Electron-Anwendung.