Paketierung und Distribution für Desktop-Plattformen
Erstellen Sie mit electron-builder Installer für macOS, Windows und Linux – mit Codesignierung und automatischen Updates.
Paketierung und Distribution für Desktop-Plattformen ist eine kostenlose React Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des React Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
electron-builder-Konfiguration
electron-builder ist das Standardtool zum Paketieren von Electron-Apps in verteilbare Installationsprogramme. Die Konfiguration befindet sich in package.json unter dem Schlüssel "build" und legt App-Metadaten (appId, productName), Icon-Pfade und plattformspezifische Zielformate fest.
Build-Ziele nach Plattform
electron-builder unterstützt macOS (dmg und zip), Windows (NSIS-Installer) und Linux (AppImage und deb). Sie können mehrere Plattformen mit einem einzigen Build-Befehl als Ziel festlegen oder CI so konfigurieren, dass jede Plattform auf ihrem nativen Runner erstellt wird, um die bestmögliche Kompatibilität zu erreichen.
Codesignierung für macOS
macOS erfordert die Codesignierung mit einem Apple-Developer-Zertifikat, damit Gatekeeper das Öffnen der App ohne Sicherheitswarnung zulässt. electron-builder liest Ihr Zertifikat während des Build-Prozesses aus dem macOS-Schlüsselbund und signiert automatisch alle Binärdateien.
Notarisierung für macOS
Neben der Codesignierung erfordert modernes macOS auch eine Notarisierung – dabei wird die App an Apples Notarisierungsdienst übermittelt, der sie auf Malware prüft und ein Ticket ausstellt. electron-builder kann die Notarisierung über electron-notarize automatisieren. Unter macOS 10.15 und höher werden Benutzer ohne Notarisierung daran gehindert, die App zu öffnen.
Codesignierung für Windows
Windows erfordert ein Authenticode-Zertifikat einer vertrauenswürdigen Zertifizierungsstelle (CA), damit SmartScreen Ihrem Installationsprogramm vertraut. Ohne Signatur sehen Benutzer die Warnung "Windows hat Ihren PC geschützt". Extended-Validation-Zertifikate (EV) beseitigen die Warnung sofort, während Standardzertifikate mit Organisation Validation (OV) mit der Zeit Vertrauen aufbauen.
Struktur der Build-Ausgabe
Nach einem erfolgreichen Build schreibt electron-builder die plattformspezifischen Installationsprogramme in das Verzeichnis dist/. Dort finden Sie die DMG- oder ZIP-Datei für macOS, die NSIS-.exe-Datei für Windows und die AppImage- oder .deb-Datei für Linux sowie ein Manifest für automatische Updates: latest.yml (oder latest-mac.yml).
App-Icons
Electron-Apps benötigen Icons in plattformspezifischen Formaten: eine 512x512-PNG-Datei für Linux, eine ICNS-Datei (mit mehreren Auflösungen) für macOS und eine ICO-Datei (mit mehreren Auflösungen) für Windows. electron-builder kann mit dem Flag --icon alle Formate aus einer einzigen 1024x1024-PNG-Datei erzeugen.
Automatische Updates mit electron-updater
Das Paket electron-updater integriert sich in electron-builder und ermöglicht automatische Updates. Veröffentlichen Sie Ihre Builds in GitHub Releases oder in S3. Anschließend kann electron-updater beim Start nach Updates suchen, das Delta-Update im Hintergrund herunterladen und Sie zum Neustart auffordern.
Beim Start nach Updates suchen
Rufen Sie autoUpdater.checkForUpdatesAndNotify() in main.js auf, sobald die App bereit ist. electron-updater ruft das Manifest latest.yml von Ihrem Veröffentlichungsziel ab, vergleicht die Versionen und lädt ein verfügbares Update herunter. Sobald es zur Installation bereitsteht, wird eine native Benachrichtigung angezeigt.
Das ASAR-Archiv
electron-builder bündelt die JavaScript-Dateien Ihrer Anwendung für die Verteilung in einem einzigen ASAR-Archiv (ähnlich einer TAR-Datei). Dadurch wird die Startleistung verbessert, weil weniger Dateisystemzugriffe erforderlich sind, und es wird schwieriger – wenn auch nicht unmöglich –, den Quellcode direkt zu untersuchen.
Native Module aus ASAR entpacken
Native Node.js-Module (.node-Dateien) können nicht aus einem ASAR-Archiv geladen werden – sie müssen in das Dateisystem entpackt werden. Konfigurieren Sie asarUnpack in electron-builder, um Muster für native Module anzugeben. Diese werden dadurch neben dem Archiv im Verzeichnis app.asar.unpacked abgelegt.
Notarisierungsanforderung für macOS
Warum ist für die Verteilung unter macOS zusätzlich zur Codesignierung eine Notarisierung erforderlich?
Zusammenfassung der Lektion
Die Verteilung einer Electron-App umfasst die Konfiguration der electron-builder-Ziele, die Signierung des Codes für macOS (einschließlich Notarisierung) und Windows (Authenticode) sowie optional die Einrichtung automatischer Updates mit electron-updater. Das ASAR-Archiv bündelt Ihre App für die Verteilung, während native Module separat entpackt werden. Eine solide CI/CD-Pipeline automatisiert diese Schritte für jede Plattform.
Häufig gestellte Fragen
Ist die Lektion „Paketierung und Distribution für Desktop-Plattformen“ kostenlos?
Ja — der vollständige Text von „Paketierung und Distribution für Desktop-Plattformen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des React Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der React Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Paketierung und Distribution für Desktop-Plattformen“?
Erstellen Sie mit electron-builder Installer für macOS, Windows und Linux – mit Codesignierung und automatischen Updates. Du übst React Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um React Academy zu starten?
Keine Vorkenntnisse erforderlich. React Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Paketierung und Distribution für Desktop-Plattformen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser React Academy-Lektion Code schreiben und ausführen?
Ja. Jede React Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Electron-Architektur: Main- und Renderer-Prozesse
- React mit Electron einrichten
- IPC-Kommunikation zwischen Prozessen
- Paketierung und Distribution für Desktop-Plattformen