Electron (Framework)

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

small
Basisdaten

Maintainer GitHub
Erscheinungsjahr 2013[1]
Aktuelle Version 2.0.2
(22. Mai 2018[2])
Betriebssystem Windows, Linux und macOS[3]
Programmiersprache C++ und JavaScript
Lizenz MIT-Lizenz[4]
electronjs.org

Electron (ehemals Atom Shell[5]) ist ein von GitHub entwickeltes, quelloffenes Framework.[6] 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.[7]

Durch Electron können somit mit HTML, CSS und JavaScript Desktop-Anwendungen erstellt 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 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). Die 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.[8] Wird aus der Anwendung heraus eine Webseite angezeigt, so kann diese Webseite Steuerbefehle in die Anwendung einschleusen und ungefragt ausführen. Die Ursache liegt darin, dass Electron-Anwendungen aus technischer Sicht lokale Webseiten mit besonderen Rechten sind. Das Framework schirmt die zur Anwendung gehörenden Teile nicht ausreichend gegenüber Inhalten aus dem World Wide Web ab. Eine Absicherung gegen die Sicherheitslücke mit Nummer CVE-2018-1000136 ist derzeit nur durch penibles Einhalten von Sicherheitskriterien möglich. Diese werden ab Version 2.0.0 im Development-Modus in jedem Render-Prozess ausgegeben, je nachdem welche Kriterien verletzt wurden.

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Earliest tagged release
  2. electron v2.0.2
  3. Supported Platforms
  4. License
  5. Kevin Sawicki: Atom Shell is now Electron. In: Atom. 23. April 2015. Abgerufen am 2. Dezember 2015.
  6. https://github.com/atom/electron
  7. Liste der mit Electron erstellten Apps.
  8. Brendan Scarvell: CVE-2018-1000136 - Electron nodeIntegration Bypass.

Weblinks[Bearbeiten | Quelltext bearbeiten]