constructor de electrones vs empaquetador de electrones [cerrado]

119

¿Qué es la principal diferencia entre electrones constructor y electrones empaquetador . ¿Hay algunos proyectos de ejemplo para ambos? ¿Cuál es mejor para la compilación de aplicaciones .exe independientes?

Ondrej Sika
fuente

Respuestas:

72

electron-packager fue (actualización: cambiado en esta confirmación: "refactor: fusionar electron-packager") utilizado por electron-builder. Este artículo dice

Si realmente quiere ir a la ciudad, eche un vistazo a electron-builder que toma los paquetes producidos por electron-packager y crea instaladores automatizados.

A RationalDev le gusta GoFundMonica
fuente
1
Esto es incorrecto: no veo ninguna referencia a electron-packager en el package.json de electron-builder. github.com/electron-userland/electron-builder/…
mrm
Eso es porque ya no lo hace.
daniel.gindi
También he usado el generador de electrones para mi proyecto paralelo: github.com/hasukmistry/password-manager
Hasmukh Mistry
98

Actualización de agosto de 2019

He estado usando electron-builder durante más de un año, empaquetando mi aplicación para macOS, Windows 10 y Ubuntu Desktop. El encargado de mantenimiento, develar, agregó un excelente sitio de documentos a principios de este año y se ha mantenido al tanto de los cambios de control de acceso en macOS para garantizar que los instaladores y actualizadores sigan funcionando.

Actualización de noviembre de 2018

El desarrollador principal de electron-builder ha continuado realizando un trabajo sustancial en el proyecto, incluido el soporte para Electron 3, nuevos destinos de publicación de artefactos y lanzamientos regularmente con correcciones de errores. El mantenedor anterior se retiró de electron-packager, y todavía no tienen un mantenedor de Windows, y todavía no tienen soporte para binarios de Windows firmados . Para referencia:

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

Actualización de diciembre de 2017

El constructor de electrones se ha trabajado enérgicamente durante el año pasado, lanzando nuevas versiones con funciones y correcciones de errores semanalmente. La documentación en https://www.electron.build/ es excelente, y siguiendo la "Guía de configuración rápida" (en la primera página, varias secciones hacia abajo) incluye un proyecto repetitivo e instrucciones paso a paso.

Actualización de junio de 2017

electron-builderrealiza tanto el paso de empaquetado (como lo electron-packagerque lo hace), y crea instaladores específicos de la plataforma (como pkgMac AppStore para Mac, NSIS o Windows Store para Windows, y AppImage para Linux).

Para mi proyecto existente, electron-forgefalló con una "dependencia faltante" que estaba presente en mi package.jsony node_modules).

No está bien documentado, pero electron-buildercambió de Squirrel.windows a NSIS a principios de este año como el instalador de Windows predeterminado. NSIS fabrica paquetes de instalación sustancialmente más pequeños (30 MB por debajo de 90 MB, en el caso de mi proyecto).

Publicación original

A marzo de 2017, en gran parte, tienen paridad de funciones. Encontré lo siguiente:

  • Ambos están en la organización " electron-userland ", por lo que ambos son "legítimos".
  • electron-packager no tiene un mantenedor de Windows
  • electron-builder tiene más contribuyentes y muchos más problemas cerrados, por lo que puede haber más errores o más usuarios. el empaquetador de electrones tiene más estrellas.
  • electron-builder admite sustancialmente más formatos de destino que electron-packager
  • electron-forge se basa en electron-packager, por lo que podría ser una experiencia más sencilla "lista para usar".
mrm
fuente
13

electron-packager empaqueta el código fuente y genera un archivo ejecutable.

electron-builder puede generar un instalador con soporte de "actualización automática" en electron.

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

jamesxiang
fuente
hmm electron-packagersolo parece crear una carpeta con un archivo ejecutable que inicia la aplicación. ¿No parece crear un instalador real?
oldboy
5

Ok, sé que este hilo es antiguo, pero me gustaría sugerir que todos usen la forja electrónica , mejorará sus vidas y creo que se sentirá más inteligente al usarlo. Personalmente, tuve pesadillas al enfrentar problemas de empaque. Tiene un cli muy simple, instálelo globalmente y sus sueños pueden hacerse realidad.

¡Espero que te ayude! No se preocupe, no lo logré, pero me ayuda a crear aplicaciones de escritorio.

aestrro
fuente
2
Ojalá hubiera encontrado este comentario antes de perder los últimos dos días jugando con el constructor y el empaquetador.
codestr
1
¿Puede organizar actualizaciones automáticas en las tres plataformas con electron-forge, como puede hacerlo en electron-builder?
jayarjo
En el momento de esta publicación, electron-forge tiene muchas vulnerabilidades, mientras que el constructor y el empaquetador no tienen ninguna snyk.io/test/npm/electron-forge snyk.io/test/npm/electron-builder snyk.io/test/npm/electron- empaquetador
Inkh Su Tesou
@InkhSuTesou, ¿es tan preocupante? Todas esas vulnerabilidades se encuentran en las versiones de dependencia específicas que utilizan las herramientas. La mayoría de esas vulnerabilidades están relacionadas con la denegación de servicio y ninguna de ellas suena como problemas que podrían entrar en su paquete construido. Forge, Builder y Packager son todas herramientas que ejecuta localmente, no herramientas con una API que implementa. Para aprovechar esos problemas, un atacante necesitaría afectar su árbol de origen o servidor de CI, y si pueden hacer cualquiera de esas cosas, entonces no necesitan una vulnerabilidad lodash.
bobpaul
2

Puede usar este https://github.com/SimulatedGREG/electron-vue/ para generar una plantilla usando vue y electron, es compatible tanto con el empaquetador de electrones como con el constructor de electrones.

Para mí, siempre prefiero el generador de electrones porque es mucho más simple para mí y puede generar binarios usando travis ci y appveyor y pulish to github release, como este repositorio que hice https://github.com/gengjiawen/android-studio- ayudante / liberaciones .

Geng Jiawen
fuente