Das Electron (oft ElectronJS) ist ein Framework für plattformübergreifende Desktop-Anwendungen auf Basis von Web-Technologien. Mit HTML, CSS und JavaScript entstehen Programme, die auf Windows, macOS und Linux als native Desktop-Anwendungen laufen — inklusive Menüs, Tray, Datei-Zugriff und Auto-Updates.

Electron entstand bei GitHub als Grundlage des Editors Atom und ist heute hinter einer langen Liste prominenter Anwendungen zu finden: Visual Studio Code, Slack, Discord, Figma Desktop, WhatsApp Desktop, Notion und viele andere.

Architektur

Eine Electron-Anwendung besteht aus zwei Welten:

  • Main-Prozess — eine Node.js-Laufzeit. Verantwortlich für Fenster, native Menüs, Datei-Zugriff, Auto-Updates und alles, was Betriebssystem-Zugriff braucht.
  • Renderer-Prozesse — eine oder mehrere Chromium-Instanzen, in denen die UI als Webseite läuft.

Beide kommunizieren über IPC (Inter-Process Communication). Diese Trennung ist sicherheitsrelevant: der Renderer hat per Default keine Datei- oder Systemrechte; alles, was er ans Betriebssystem heranträgt, muss über klar definierte Brücken laufen.

Stärken und Trade-offs

Electron bringt klare Vor- und Nachteile mit:

  • Vorteil — Wiederverwendung von Web-Know-how: Frontend-Entwickler bauen eine Desktop-App ohne Plattform-spezifisches Wissen.
  • Vorteil — Plattformübergreifende Auslieferung: ein Codebase, drei Zielsysteme.
  • Vorteil — Reichhaltige UI-Möglichkeiten: alles, was im Browser geht, geht in Electron.
  • Nachteil — Größe und Speicherbedarf: jede Electron-Anwendung bringt einen vollständigen Chromium mit. Ein „Hello World" liegt schnell bei 100+ MB.
  • Nachteil — Performance-Profil: nicht so leicht wie eine native App, vor allem in der Speichernutzung.

Alternativen

Im Sprachgebrauch tauchen Konkurrenten auf, die ähnliche Versprechen mit anderem Profil machen:

  • Tauri — nutzt die System-WebView statt Chromium; deutlich kleinere Bundles, Backend in Rust.
  • Neutralinojs — sehr schlanke Alternative ohne Chromium-Bundle.
  • Native Frameworks wie SwiftUI, Qt, GTK, .NET MAUI — wenn echte native Performance entscheidend ist.

Electron bleibt die robuste, am weitesten erprobte Wahl, wenn ein bestehendes Web-Frontend möglichst direkt in eine Desktop-App überführt werden soll. Für neue Projekte mit Fokus auf schlanken Bundles ist Tauri zunehmend die interessantere Option.

/ Weiter

Zurück zu Coding

Zur Übersicht