Electron (Framework)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Electron

small
Basisdaten

Maintainer GitHub
Entwickler GitHub Inc.
Erscheinungsjahr 2013[1]
Aktuelle Version 7.1.1[2]
(7. November 2019)
Aktuelle Vorabversion 5.0.0-beta.5
(4. März 2019[3])
Betriebssystem Windows, Linux und macOS[4]
Programmiersprache C++ und JavaScript
Lizenz MIT-Lizenz[5]
electronjs.org

Electron (ehemals Atom Shell[6]) ist ein von GitHub entwickeltes, quelloffenes Framework.[7] 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. Visual Studio Code (entwickelt von Microsoft). 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.[8]

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[9] oder Angular[10] 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 entsprechendem 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.[11] Dies wurde in späteren Versionen korrigiert.[12] Aufgrund der Distributionsmethode muss bei einer Sicherheitslücke das Electron-Executable für jede Anwendung einzeln aktualisiert werden.

Ableger[Bearbeiten | Quelltext bearbeiten]

Electron.NET[Bearbeiten | Quelltext bearbeiten]

Am 27. Oktober 2017 wurde aus der Community eine Portierung namens Electron.NET für das .NET Core Framework veröffentlicht. Es handelt sich hierbei um ein Open-Source-Projekt, das die nativen Electron-APIs über die Programmiersprache C# ermöglicht. .NET-Entwickelnde bleiben damit in ihrem gewohnten Ökosystem und müssen sich nicht mit JavaScript beschäftigen.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Earliest tagged release
  2. Release 7.1.1. 7. November 2019 (abgerufen am 8. November 2019).
  3. electron v5.0.0-beta.5
  4. Supported Platforms
  5. github.com. (abgerufen am 15. November 2018).
  6. Kevin Sawicki: Atom Shell is now Electron. In: Atom. 23. April 2015. Abgerufen am 2. Dezember 2015.
  7. electron/electron. Abgerufen am 3. September 2018 (englisch).
  8. Electron Apps | Electron. Abgerufen am 3. September 2018 (amerikanisches Englisch).
  9. SimulatedGREG/electron-vue. Abgerufen am 3. September 2018 (englisch).
  10. maximegris/angular-electron. Abgerufen am 3. September 2018 (englisch).
  11. CVE-2018-1000136 - Electron nodeIntegration Bypass. Abgerufen am 15. November 2018.
  12. WebPreferences Vulnerability Fix | Electron Blog. Abgerufen am 3. September 2018 (amerikanisches Englisch).

Weblinks[Bearbeiten | Quelltext bearbeiten]