Elektronenbauer gegen Elektronenverpacker [geschlossen]

119

Was ist wesentlicher Unterschied zwischen Elektron-builder und elektronen Verpacker . Gibt es einige Beispielprojekte für beide? Was ist besser für die eigenständige Erstellung von EXE-Anwendungen?

Ondrej Sika
quelle

Antworten:

71

Electron-Packager wurde (Update: geändert in diesem Commit: "Refactor: Merge Electron-Packager") vom Electron-Builder verwendet. Dieser Artikel besagt

Wenn Sie wirklich in die Stadt wollen, schauen Sie sich den Electron-Builder an, der die vom Electron-Packager hergestellten Pakete verwendet und automatisierte Installer erstellt.

RationalDev mag GoFundMonica
quelle
1
Dies ist falsch: Ich sehe keinen Verweis auf Elektronenverpacker in der package.json von Electron-Builder. github.com/electron-userland/electron-builder/…
mrm
Das liegt daran, dass es nicht mehr so ​​ist.
daniel.gindi
Ich habe auch Electron-Builder für mein Nebenprojekt verwendet: github.com/hasukmistry/password-manager
Hasmukh Mistry
98

Update August 2019

Ich benutze Electron-Builder seit mehr als einem Jahr und packe meine App für MacOS, Windows 10 und Ubuntu Desktop. Der Betreuer, develar, hat Anfang dieses Jahres eine großartige Dokumentenseite hinzugefügt und die Gatekeeper-Änderungen an macOS im Auge behalten, um sicherzustellen, dass Installer und Updater weiterhin funktionieren.

Update November 2018

Der Hauptentwickler von Electron-Builder hat weiterhin umfangreiche Arbeit in das Projekt gesteckt, einschließlich der Unterstützung von Electron 3, neuen Zielen für die Veröffentlichung von Artefakten und regelmäßigen Veröffentlichungen mit Fehlerkorrekturen. Der vorherige Betreuer ist vom Electron-Packager zurückgetreten, und es gibt immer noch keinen Windows-Betreuer und keine Unterstützung für signierte Windows-Binärdateien . Als Referenz:

electron-packager ( 72 releases,  17 open issues,   639 closed)
electron-builder  (651 releases, 399 open issues, 2,603 closed)

Update Dezember 2017

An Electron-Builder wurde im vergangenen Jahr intensiv gearbeitet und wöchentlich neue Versionen mit Funktionen und Bugfixes herausgebracht. Die Dokumentation unter https://www.electron.build/ ist ausgezeichnet. Das Befolgen der "Kurzanleitung zur Einrichtung" (auf der ersten Seite, mehrere Abschnitte weiter unten) enthält ein Boilerplate-Projekt und schrittweise Anleitungen.

Update Juni 2017

electron-builderführt sowohl den Paketierungsschritt aus (wie das, was electron-packagerauch getan wird) als auch plattformspezifische Installationsprogramme (wie pkgoder Mac AppStore für Mac, NSIS oder Windows Store für Windows und AppImage für Linux).

Bei meinem bestehenden Projekt ist electron-forgeeine "fehlende Abhängigkeit" fehlgeschlagen, die in meinem package.jsonund node_modules) vorhanden war.

Es ist nicht gut dokumentiert, wurde jedoch electron-builderAnfang dieses Jahres von Squirrel.windows auf NSIS als Standard-Windows-Installationsprogramm umgestellt. NSIS erstellt wesentlich kleinere Installationspakete (30 MB von 90 MB im Fall meines Projekts).

Ursprünglicher Beitrag

Ab März 2017 haben sie größtenteils Feature-Parität. Ich habe folgendes gefunden:

  • Sie sind beide in der " Elektronennutzerland " -Organisation, also sind sie beide "legitim".
  • Der Electron-Packager hat keinen Windows-Betreuer
  • Electron-Builder hat mehr Mitwirkende und viel mehr geschlossene Probleme, sodass möglicherweise mehr Fehler oder mehr Benutzer aufgetreten sind. Elektronenpacker hat mehr Sterne.
  • Electron Builder unterstützt wesentlich mehr Zielformate als Electron Packager
  • Electron-Forge basiert auf einem Elektronenverpacker, so dass dies möglicherweise einfacher "out of the box" ist.
mrm
quelle
13

Der Electron-Packager packt den Quellcode und generiert eine ausführbare Datei.

Electron-Builder kann Installer mit Unterstützung für "Auto Update" in Electron generieren.

http://electron.atom.io/docs/api/auto-updater/

Jamesxiang
quelle
hmm electron-packagerscheint nur einen Ordner mit einer ausführbaren Datei zu erstellen, die die Anwendung startet. es scheint nicht ein tatsächliches Installationsprogramm zu erstellen?
Oldboy
5

Ok, ich weiß, dass dieser Thread alt ist, aber ich möchte vorschlagen, dass jeder / jede Elektronenschmiede verwendet. Dies wird Ihr Leben verbessern und ich denke, Sie werden sich intelligenter fühlen, wenn Sie ihn verwenden. Ich persönlich hatte Albträume, die mit Verpackungsproblemen konfrontiert waren. Es hat eine absolut einfache Cli, installieren Sie es global und Ihre Träume können wahr werden.

Ich hoffe es hilft! Keine Sorge, ich habe es nicht geschafft, aber es hilft mir, Desktop-Apps zu erstellen.

Aestrro
quelle
2
Ich wünschte, ich hätte diesen Kommentar gefunden, bevor ich die letzten zwei Tage damit verbracht hätte, mich sowohl mit dem Builder als auch mit dem Packager herumzuschlagen.
Codestr
1
Können Sie mit Electron-Forge automatische Updates auf allen drei Plattformen arrangieren, wie Sie es mit Electron-Builder tun können?
Jayarjo
Zum Zeitpunkt dieses Beitrags weist Electron-Forge viele Schwachstellen auf, während Builder und Packager keine haben. Snyk.io/test/npm/electron-forge snyk.io/test/npm/electron-builder snyk.io/test/npm/electron- Packager
Inkh Su Tesou
@InkhSuTesou ist das allerdings ein großes Problem? Alle diese Sicherheitsanfälligkeiten befinden sich in den spezifischen Abhängigkeitsversionen, die von den Tools verwendet werden. Die meisten dieser Sicherheitsanfälligkeiten hängen mit Denial-of-Service zusammen, und keines davon klingt nach Problemen, die in Ihr erstelltes Paket gelangen würden. Forge, Builder und Packager sind alle Tools, die Sie lokal ausführen, keine Tools mit einer API, die Sie bereitstellen. Um diese Probleme auszunutzen, muss ein Angreifer Ihren Quellbaum oder CI-Server beeinflussen. Wenn er eines dieser Dinge tun kann, benötigt er keine Lodash-Sicherheitsanfälligkeit.
Bobpaul
2

Sie können diese https://github.com/SimulatedGREG/electron-vue/ verwenden , um eine Vorlage mit Vue und Elektron zu generieren. Sie unterstützt sowohl Elektronenpacker als auch Elektronenbauer.

Für mich bevorzuge ich immer Electron-Builder, weil es für mich viel einfacher ist und mit Travis CI und Appveyor Binärdaten generieren und die Github-Veröffentlichung beschleunigen kann, wie dieses Repo, das ich unter https://github.com/gengjiawen/android-studio- erstellt habe. Helfer / Releases .

Geng Jiawen
quelle