GitHub Electron (ehemals Atom Shell) ermöglicht die Erstellung plattformübergreifender Desktop-Anwendungen in HTML, CSS und JavaScript. VS Code, Slack und Atom — alle laufen auf Electron.
Webtechnologien auf dem Desktop¶
Electron kombiniert einen Chromium-Renderer mit einer Node.js-Laufzeitumgebung. Das Ergebnis? Eine vollwertige Desktop-Anwendung mit Zugriff auf das Dateisystem, Systembenachrichtigungen, native Menüs und Tray-Icons — alles in JavaScript.
GitHub hat Electron für seinen Atom-Editor entwickelt und anschließend als Open Source veröffentlicht. Heute laufen VS Code, Slack, Discord, WhatsApp Desktop und Hunderte anderer Anwendungen auf Electron.
Architektur: Main- und Renderer-Prozess¶
Electron hat zwei Arten von Prozessen:
// Main process (main.js)
const { app, BrowserWindow } = require('electron');
app.on('ready', () => {
const win = new BrowserWindow({ width: 1200, height: 800 });
win.loadURL('file://' + __dirname + '/index.html');
});
Main-Prozess — verwaltet Fenster, Systeminteraktionen und den Anwendungslebenszyklus. Einer pro Anwendung.
Renderer-Prozess — jedes Fenster ist ein separater Chromium-Renderer. Er kann Node.js-APIs über IPC-Kommunikation mit dem Main-Prozess nutzen.
Vorteile und Kritik¶
Die Vorteile von Electron sind offensichtlich:
- Eine einzige Codebasis für Windows, macOS und Linux
- Ein riesiges Ökosystem an npm-Paketen
- Schnelles Prototyping — ein Webentwickler kann eine Desktop-App bauen
- Chromium DevTools zum Debugging
Die Kritik ist ebenfalls berechtigt:
- Hoher RAM-Verbrauch (jede App = eine Chromium-Instanz)
- Große Distributionsgröße (~100 MB Minimum)
- Langsamerer Start im Vergleich zu nativen Anwendungen
- Inkonsistentes Look & Feel mit der Plattform
Distribution und Updates¶
Electron bietet Tools für professionelle Distribution:
- electron-packager — Verpackung in eine plattformspezifische Binärdatei
- electron-builder — Installer für Windows (NSIS), macOS (DMG), Linux (deb/rpm)
- autoUpdater — automatische Updates (Squirrel Framework)
- Code Signing für vertrauenswürdige Distribution
Fazit: eine pragmatische Wahl¶
Electron ist nicht ideal für jede Desktop-Anwendung, aber es ist eine pragmatische Wahl für Teams mit Web-Erfahrung. Wenn Ihre Anwendung keine extreme Leistung oder einen minimalen Footprint erfordert, spart Ihnen Electron Monate an Entwicklung gegenüber nativen Alternativen.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns