Electron (Framework)
Electron (ehemals Atom Shell) ist ein von GitHub entwickeltes, quelloffenes Framework, das von der OpenJS Foundation verwaltet und weiterentwickelt wird. Es ermöglicht die Ausführung von Cross-Platform-Desktop-Anwendungen mithilfe des Webbrowsers Chromium und des Node.js-Frameworks. Die Atom Shell (jetzt Electron) wurde als Basis für den Editor Atom von GitHub entwickelt und ist Basis von u. a. Microsofts Visual Studio Code oder der Desktop-App für Twitch. Auch die VoIP-Apps Discord und Skype, der Messenger Signal und viele weitere Anwendungen verwenden Electron, um mit wenig Aufwand eine Desktop-Anwendung zu realisieren.
Electron | |
---|---|
Basisdaten | |
Hauptentwickler | OpenJS Foundation |
Entwickler | GitHub Inc. |
Erscheinungsjahr | 2013 |
Aktuelle Version | 30.0.1 (18. April 2024) |
Aktuelle Vorabversion | 31.0.0-alpha.2 (18. April 2024) |
Betriebssystem | Windows, Linux und macOS |
Programmiersprache | C++ und JavaScript |
Lizenz | MIT-Lizenz |
electronjs.org |
Mithilfe von Electron können in HTML, CSS und JavaScript entwickelte Desktop-Anwendungen ausgeführt werden. Es können daher auch Frameworks wie Vue.js oder Angular benutzt werden. Für zeitkritische Aufgaben (wie z. B. Videotelefonie) kann zusätzlich C++ verwendet werden. Auch ist je nach Anwendung eine API nicht notwendig, da mit einem entsprechenden Node.js-Paket z. B. direkt MySQL-Abfragen ausgeführt werden können.
Das Grundgerüst einer Electron-App besteht aus den Dateien package.json
(Metadaten, also benutzte Pakete etc.), main.js
(Code für den Hauptprozess) und index.html
(grafische Benutzeroberfläche). Das Electron-Executable (electron.exe
unter Windows, electron.app
unter macOS und electron
unter Linux) wird zur Vervollständigung hinzugefügt. Die ausführbare Datei kann zum Zwecke des Brandings umbenannt oder verändert werden (Hinzufügen benutzerdefinierter Icons etc.). Mit einem entsprechenden Node.js-Paket lassen sich auch Installer packen.
Im Mai 2018 fiel auf, dass Electron-Anwendungen anfällig für Cross-Site-Scripting-Angriffe sind. Dies wurde in späteren Versionen behoben. Aufgrund der Distributionsmethode muss bei einer Sicherheitslücke das Electron-Executable für jede Anwendung einzeln aktualisiert werden.