konstruktor elektronów vs pakowacz elektronów [zamknięte]


119

Jaka jest główna różnica między konstruktorem elektronów a urządzeniem pakującym elektrony . Czy są jakieś przykładowe projekty dla obu? Co jest lepsze w przypadku samodzielnej kompilacji aplikacji .exe?

Odpowiedzi:


72

electron-packager był (aktualizacja: zmieniony w tym zatwierdzeniu: „refactor: merge electron-packager”) używany przez narzędzie do tworzenia elektronów. Ten artykuł stwierdza

Jeśli naprawdę chcesz pojechać do miasta, spójrz na narzędzie electron-builder, które pobiera pakiety wyprodukowane przez electron-packager i tworzy automatyczne instalatory.


1
To jest nieprawidłowe: nie widzę żadnego odniesienia do electron-packager w pliku package.json programu electron-builder. github.com/electron-userland/electron-builder/ ...
pan

To dlatego, że już tak nie jest.
daniel.gindi

Użyłem również konstruktora elektronów w moim pobocznym projekcie: github.com/hasukmistry/password-manager
Hasmukh Mistry

98

Aktualizacja sierpień 2019

Używam narzędzia Electron Builder od ponad roku, pakując moją aplikację na macOS, Windows 10 i Ubuntu Desktop. Opiekun, develar, dodał świetną witrynę z dokumentami na początku tego roku i na bieżąco śledzi zmiany strażnika w systemie macOS, aby zapewnić, że instalatory i aktualizatory będą nadal działać.

Aktualizacja listopad 2018

Pierwotny deweloper elektronów budowniczego nadal umieścić znaczną pracę w projekcie, w tym wsparcie dla Electron 3 nowych miejsc artefakt wydawnictwa, i uwalnia się regularnie z poprawkami. Poprzedni opiekun zrezygnował z Electron-Packager i nadal nie ma opiekuna systemu Windows i nadal nie obsługuje podpisanych plików binarnych systemu Windows . Na przykład:

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

Aktualizacja z grudnia 2017 r

Program Electron-builder był intensywnie pracowany przez ostatni rok, co tydzień wypuszczał nowe wersje z funkcjami i poprawkami błędów. Dokumentacja na https://www.electron.build/ jest doskonała, a po „Podręczniku szybkiej obsługi” (na pierwszej stronie, kilka sekcji w dół) zawiera standardowy projekt i instrukcje krok po kroku.

Aktualizacja z czerwca 2017 r

electron-builderwykonuje zarówno etap pakowania (podobnie jak to, co electron-packagerrobi), i tworzy instalatory specyficzne dla platformy (takie jak pkgMac AppStore dla komputerów Mac, NSIS lub Windows Store dla Windows i AppImage dla Linuksa).

W przypadku mojego istniejącego projektu electron-forgenie powiodło się z powodu „brakującej zależności”, która była obecna w moich package.jsoni node_modules).

Nie jest dobrze udokumentowany, ale electron-builderna początku tego roku zmieniono Squirrel.windows na NSIS jako domyślny instalator systemu Windows. NSIS tworzy znacznie mniejsze pakiety instalatora (30 MB w porównaniu z 90 MB w przypadku mojego projektu).

Oryginalny post

Od marca 2017 r. W dużej części mają one parytet funkcji. Znalazłem następujące:

  • Obaj należą do organizacji „obszaru użytkownika elektronów ”, więc obaj są „legalni”.
  • electron-packager nie ma opiekuna okien
  • Electronic-builder ma więcej współpracowników i znacznie więcej zamkniętych problemów, więc mogło być więcej błędów lub więcej użytkowników. elektron-pakujący ma więcej gwiazdek.
  • narzędzie do tworzenia elektronów obsługuje znacznie więcej formatów docelowych niż narzędzie do pakowania elektronów
  • electron-forge działa w oparciu o narzędzie do pakowania elektronów, więc może to być łatwiejsze doświadczenie „po wyjęciu z pudełka”.

13

electron-packager pakuje kod źródłowy i generuje plik wykonywalny.

Producent elektroniki może wygenerować instalator z obsługą „automatycznej aktualizacji” w electron.

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


hmm electron-packagertylko wydaje się, że tworzy folder z plikiem wykonywalnym, który uruchamia aplikację. wydaje się, że nie tworzy rzeczywistego instalatora?
oldboy

5

Ok, wiem, że ten wątek jest stary, ale chciałbym zasugerować każdemu / każdemu, że używa electro-forge , to polepszy wasze życie i myślę, że będziecie czuli się bardziej inteligentni używając go. Osobiście miałem koszmary na jawie, w obliczu problemów związanych z opakowaniami. Ma proste kliknięcie, zainstaluj je globalnie, a Twoje marzenia mogą się spełnić.

Mam nadzieję, że to pomoże! Nie martw się, nie udało mi się, ale pomaga mi to w tworzeniu aplikacji komputerowych.


2
Żałuję, że nie znalazłem tego komentarza przed zmarnowaniem ostatnich dwóch dni na mieszanie się z konstruktorem i pakującym.
codestr

1
Czy jesteś w stanie zorganizować automatyczne aktualizacje na wszystkich trzech platformach za pomocą Electron-Forge, tak jak w przypadku Electronic-Builder?
jayarjo

W chwili pisania tego postu, electron-forge ma wiele luk w zabezpieczeniach, podczas gdy kreator i program pakujący
Inkh Su Tesou,

@InkhSuTesou jest to jednak duży problem? Wszystkie te luki są w określonych wersjach zależności używanych przez narzędzia. Większość z tych luk jest związana z atakiem typu „odmowa usługi” i żadna z nich nie brzmi jak problem, który mógłby dostać się do Twojego zbudowanego pakietu. forge, builder i packager to wszystkie narzędzia uruchamiane lokalnie, a nie narzędzia z interfejsem API, który wdrażasz. Aby wykorzystać te problemy, osoba atakująca musiałaby wpłynąć na Twoje drzewo źródłowe lub serwer CI, a jeśli może zrobić jedną z tych rzeczy, nie potrzebuje luki w zabezpieczeniach typu lodash.
bobpaul

2

Możesz użyć tego https://github.com/SimulatedGREG/electron-vue/ do wygenerowania szablonu za pomocą vue i electron, obsługuje on zarówno narzędzie do pakowania elektronów, jak i narzędzie do tworzenia elektronów.

Dla mnie zawsze wolę narzędzie do tworzenia elektronów, ponieważ jest dla mnie znacznie prostsze i mogę generować pliki binarne za pomocą travis ci i appveyor i pulish do wydania github, tak jak to repozytorium, które zrobiłem https://github.com/gengjiawen/android-studio- pomocnik / wydania .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.