Distribución de la Aplicación

Para distribuir tu aplicación con Electron, el directorio que contiene la aplicación deberá llamarse app, y ser colocado debajo del directorio de recursos de Electron (en OSX es Electron.app/Contents/Resources/, en Linux y Windows es resources/), de esta forma:

En OS X:

electron/Electron.app/Contents/Resources/app/
├── package.json
├── main.js
└── index.html

En Windows y Linux:

electron/resources/app
├── package.json
├── main.js
└── index.html

Luego ejecutar Electron.app (o electron en Linux, electron.exe en Windows), y Electron será iniciado como tu aplicación. El directorio electron será entonces tu distribución que recibirán los usuarios finales.

Empaquetando tu aplicación en un archivo

Además de distribuir tu aplicación al copiar todos los archivos de código fuente, también puedes empaquetar tu aplicación como un archivo asar y de esta forma evitar exponer del código fuente de tu aplicación a los usuarios.

Para utilizar un archivo asar en reemplazo del directorio app, debes de renombrar el archivo a app.asar, y colocarlo por debajo el directorio de recursos de Electron (ver en seguida), Electron intentará leer el archivo y arrancar desde el.

En OS X:

electron/Electron.app/Contents/Resources/
└── app.asar

En Windows y Linux:

electron/resources/
└── app.asar

Más detalles en Empaquetado de Aplicaciones.

Redefinición con Binarios Descargados

Luego de empaquetar tu aplicación en Electron, querrás redefinir Electron antes de distribuirlo a los usuarios.

Windows

Puedes renombrar electron.exe a cualquier nombre que desees, y editar su ícono y otra información con herramientas como rcedit.

OSX

Puedes renombrar Electron.app a cualquier nombre que desees, y tendrás que renombrar los campos CFBundleDisplayName, CFBundleIdentifier y CFBundleName en los siguientes archivos:

  • Electron.app/Contents/Info.plist
  • Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Info.plist

También puedes renombrar el helper de la aplicación para evitar que aparezca como Electron Helper en el Monitor de Actividades. Pero asegurate de renombrar el nombre de archivo del ejecutable.

La estructura de una aplicación renombrada será:

MyApp.app/Contents
├── Info.plist
├── MacOS/
│   └── MyApp
└── Frameworks/
    ├── MyApp Helper EH.app
    |   ├── Info.plist
    |   └── MacOS/
    |       └── MyApp Helper EH
    ├── MyApp Helper NP.app
    |   ├── Info.plist
    |   └── MacOS/
    |       └── MyApp Helper NP
    └── MyApp Helper.app
        ├── Info.plist
        └── MacOS/
            └── MyApp Helper

Linux

Puedes renombrar el ejectuable electron a cualquier nombre que desees.

Redefinición mediante la recompilación de Electron desde el código fuente

También es posible redefinir Electron cambiando el nombre del producto y compilandolo desde sus fuentes. Para realizar esto necesitas modificar el archivo atom.gyp y realizar una compilación desde cero.

grunt-build-atom-shell

La modificación a mano del código de Electron y su compilación puede resultar complicada, por lo cual se ha generado una tarea Grunt para manejar esto de forma automaticamente: grunt-build-atom-shell.

Esta tarea se encargará de modificar el archivo .gyp, compilar el código desde las fuentes, y luego reconstruir los módulos nativos de la aplicación para que coincidan con el nuevo nombre del ejecutable.