Zum Inhalt springen

Electron (Framework)

aus Wikipedia, der freien Enzyklopädie
Electron

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Datei:Electron Software Framework Logo.svg
Basisdaten

Hauptentwickler OpenJS Foundation
Entwickler Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
Erscheinungsjahr 2013<ref>Earliest tagged release</ref>
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value))
Betriebssystem Windows, Linux und macOS<ref>Supported Platforms</ref>
Programmier­sprache C++ und JavaScript
Lizenz Lua-Fehler in Modul:Wikidata, Zeile 1703: attempt to index field 'wikibase' (a nil value)
electronjs.org

Electron (ehemals Atom Shell<ref>Kevin Sawicki: Atom Shell is now Electron. In: Atom. 23. April 2015, abgerufen am 2. Dezember 2015.</ref>) ist ein von GitHub entwickeltes, quelloffenes Framework,<ref>electron/electron. Abgerufen am 3. September 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> das von der OpenJS Foundation verwaltet und weiterentwickelt wird.<ref>Projekte der OpenJS Foundation. Abgerufen am 13. März 2023 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> 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-App Discord, der Messenger Signal und viele weitere Anwendungen verwenden Electron, um mit wenig Aufwand eine Desktop-Anwendung zu realisieren.<ref>Electron Apps | Electron. Abgerufen am 3. September 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

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<ref>SimulatedGREG/electron-vue. Abgerufen am 3. September 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> oder Angular<ref>maximegris/angular-electron. Abgerufen am 3. September 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> 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.<ref>CVE-2018-1000136 - Electron nodeIntegration Bypass. Ehemals im Vorlage:IconExternal (nicht mehr online verfügbar); abgerufen am 15. November 2018.@1@2Vorlage:Toter Link/www.trustwave.com (Seite nicht mehr abrufbar. Suche im Internet Archive)</ref> Dies wurde in späteren Versionen behoben.<ref>WebPreferences Vulnerability Fix | Electron Blog. Abgerufen am 3. September 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Aufgrund der Distributionsmethode muss bei einer Sicherheitslücke das Electron-Executable für jede Anwendung einzeln aktualisiert werden.

Verwendung[Bearbeiten]

Da mit Electron mit den ansonsten in der Webentwicklung üblichen Sprachen HTML, CSS und JavaScript Desktop-Anwendungen erschaffen werden können, wurde Electron häufig dafür benutzt, eine bereits bestehende Webanwendung durch eine Desktop-Anwendung mit ähnlichem Benutzererlebnis zu ergänzen.

Electron findet unter anderem in folgenden Anwendungen Verwendung:

Einzelnachweise[Bearbeiten]

<references />

Weblinks[Bearbeiten]