Skip to content

Kapitel 1: Einführung in Electron

In diesem Kapitel lernen Sie die Grundlagen von Electron kennen und erfahren, warum es sich lohnt, diese Technologie zu erlernen.

1.1 Was ist Electron?

Electron ist ein Framework zur Entwicklung plattformübergreifender Desktop-Anwendungen mit Webtechnologien (HTML, CSS, JavaScript) in Kombination mit Node.js.

Einfache Definition

Electron ermöglicht es Entwicklern, Desktop-Anwendungen für Windows, macOS und Linux mit den gleichen Technologien zu erstellen, die auch für die Webentwicklung verwendet werden.

Kernkomponenten

Electron = Chromium (Rendering) + Node.js (Backend) + Native APIs
KomponenteFunktion
ChromiumRendert die Benutzeroberfläche (HTML/CSS/JS)
Node.jsBietet Zugriff auf das Dateisystem und native Funktionen
Native APIsErmöglichen den Zugriff auf Betriebssystem-Funktionen

Wie Electron funktioniert

┌─────────────────────────────────────┐
│         Electron App                │
│  ┌─────────────┐  ┌─────────────┐ │
│  │ Hauptprozess │  │ Renderer-   │ │
│  │ (Main)       │←→│ prozess     │ │
│  │ (Node.js)    │  │ (Chromium)  │ │
│  └─────────────┘  └─────────────┘ │
└─────────────────────────────────────┘

1.2 Warum sollten Sie Electron lernen?

Hauptvorteile

1. Plattformübergreifende Entwicklung

  • Ein Codebase für Windows, macOS und Linux
  • Spart Entwicklungszeit und Ressourcen

2. Wiederverwendung von Web-Technologien

  • Nutzung vorhandener HTML/CSS/JavaScript-Kenntnisse
  • Kein Erlernen neuer Programmiersprachen erforderlich

3. Hohe Entwicklungseffizienz

  • Schnelle Prototypenentwicklung
  • Umfangreiches Ökosystem an npm-Paketen

4. Zugriff auf native Funktionen

  • Dateisystem-Zugriff
  • Systembenachrichtigungen
  • Tray-Icons und Menüs

Vergleich: Electron vs. Traditionelle Desktop-Entwicklung

AspektElectronNative Entwicklung
SpracheWeb-TechnologienC#, Swift, Java
PlattformCross-PlatformPlattform-spezifisch
LernkurveNiedrig (für Web-Entwickler)Hoch
PerformanceModerateHoch
PaketgrößeGrößerKleiner

1.3 Anwendungsszenarien von Electron

Typische Einsatzbereiche

  1. Desktop-Clients für Web-Dienste

    • Slack, Discord, Microsoft Teams
  2. Entwickler-Tools

    • Visual Studio Code, Atom, GitHub Desktop
  3. Utilities und Tools

    • Postman, Notion, Twitch Desktop
  4. Cross-Platform Anwendungen

    • Alle Apps, die auf allen Betriebssystemen laufen müssen

Bekannte Beispiele

Visual Studio Code  →  Der bekannteste Electron-Editor
Slack              →  Team-Kommunikation
Discord            →  Gaming-Community
Notion             →  Notizen und Produktivität

1.4 Electron vs. Traditionelle Desktop-Entwicklung

Unterschiede im Überblick

Entwicklungskosten

  • Electron: Niedriger (ein Codebase)
  • Native: Hoch (separate Codebases pro Plattform)

Technologie-Stack

  • Electron: HTML, CSS, JavaScript, Node.js
  • Native: C#/WPF, Swift/Cocoa, Java/JavaFX

Cross-Platform-Fähigkeit

  • Electron: Integriert (Windows, macOS, Linux)
  • Native: Plattform-spezifisch

Performance

  • Electron: Moderat (Chromium-basiert)
  • Native: Optimal (direkter Hardware-Zugriff)

Paketgröße

  • Electron: Größer (enthält Chromium + Node.js)
  • Native: Kompakter

1.5 Lernvoraussetzungen: Benötigte Technologie-Grundlagen

Erforderliche Vorkenntnisse

HTML/CSS-Grundlagen

  • Verständnis von HTML-Elementen
  • CSS-Styling und Layout
  • Responsive Design Grundlagen

JavaScript-Grundlagen

  • Variablen und Datentypen
  • Funktionen und Events
  • DOM-Manipulation
  • Asynchrone Programmierung (Promises, async/await)

Node.js-Grundlagen

  • npm-Paketverwaltung
  • Modulsystem (require/import)
  • Dateisystem-Operationen (fs-Modul)
  • Event-Emitter-Pattern

Prüfliste: Sind Sie bereit?

☑ HTML/CSS Grundlagen vorhanden?
☑ JavaScript Kenntnisse (ES6+)?
☑ Node.js und npm installiert?
☑ Grundlegendes Verständnis von Modulen?
☑ Erfahrung mit der Kommandozeile?

1.6 Lernpfad-Planung

Empfohlener Lernweg für Anfänger

Phase 1: Grundlagen (Kapitel 1-2)

Phase 2: Kernkonzepte (Kapitel 3-6)

Phase 3: API & Funktionen (Kapitel 7-10)

Phase 4: Praxisprojekte (Kapitel 11-12)

Phase 5: Deployment & Advanced (Kapitel 13-18)

Zeitplan (geschätzt)

PhaseInhaltZeitaufwand
1Grundlagen & Setup1-2 Tage
2Kernkonzepte3-5 Tage
3APIs & Funktionen5-7 Tage
4Praxisprojekte7-10 Tage
5Deployment & Advanced3-5 Tage

1.7 Ihr erstes Electron-Programm

Schnellstart: "Hello Electron"

Schritt 1: Projekt initialisieren

bash
# Neues Verzeichnis erstellen
mkdir hello-electron
cd hello-electron

# npm-Projekt initialisieren
npm init -y

# Electron installieren
npm install electron --save-dev

Schritt 2: package.json konfigurieren

json
{
  "name": "hello-electron",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  }
}

Schritt 3: Hauptprozess erstellen (main.js)

javascript
const { app, BrowserWindow } = require('electron');
const path = require('path');

function createWindow() {
  // Fenster erstellen
  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true,
      contextIsolation: false
    }
  });

  // HTML-Datei laden
  win.loadFile('index.html');
}

// App bereit
app.whenReady().then(() => {
  createWindow();

  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow();
    }
  });
});

// Alle Fenster geschlossen
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});

Schritt 4: HTML-Seite erstellen (index.html)

html
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Hello Electron</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      margin: 0;
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      color: white;
    }
    h1 { font-size: 3em; }
  </style>
</head>
<body>
  <h1>🎉 Hello Electron!</h1>
  <p>Ihre erste Desktop-Anwendung läuft!</p>
</body>
</html>

Schritt 5: Anwendung starten

bash
npm start

Erwartetes Ergebnis

┌─────────────────────────────────┐
│  Hello Electron        _ □ ×   │
├─────────────────────────────────┤
│                                 │
│         🎉 Hello Electron!      │
│                                 │
│   Ihre erste Desktop-Anwendung   │
│        läuft!                   │
│                                 │
└─────────────────────────────────┘

Häufige Fehler beim ersten Programm

FehlerUrsacheLösung
main.js nicht gefundenFalscher Pfad in package.jsonmain-Feld prüfen
Fenster erscheint nichtCode-Fehler in main.jsEntwicklerkonsole prüfen
electron Befehl nicht gefundenNicht installiertnpm install electron erneut ausführen

Zusammenfassung

In diesem Kapitel haben Sie gelernt:

  • Was Electron ist und wie es funktioniert
  • Warum Electron eine hervorragende Wahl für Desktop-Apps ist
  • Welche Vorkenntnisse Sie benötigen
  • Wie Sie Ihre erste Electron-App erstellen

Im nächsten Kapitel werden wir die Entwicklungsumgebung im Detail einrichten.

Frei für alle Anfänger