Te doy la bienvenida a nuestra página, ahora encontrarás la solucíon de lo que buscabas.
Electron es un marco que utiliza tecnologías web (HTML, CSS y JS) para crear aplicaciones de escritorio multiplataforma.
Requisitos del sistema
Linux
- Pitón versión 2.7.x. Se recomienda verificar su versión de Python ya que algunas distribuciones como CentOS 6.x todavía usan Python 2.6.x.
Mac
- Pitón versión 2.7.x con soporte para TLS 1.2.
- Xcode, el IDE para macOS, viene con las herramientas de desarrollo de software necesarias para firmar y compilar código nativo para macOS. Versión 8.2.1 o superior.
-
Soporte de RedHat Build
- Cerveza casera, uno de los administradores de paquetes de macOS disponibles, se utiliza para instalar herramientas y dependencias adicionales. Se necesita Homebrew para instalar las dependencias de empaquetado de RPM. Paso de instalación de preparación
- RPM, un administrador de paquetes estándar para múltiples distribuciones de Linux, es la herramienta que se utiliza para crear el paquete RPM de Linux. Para instalar esta herramienta, use lo siguiente Cerveza casera mando:
brew installrpm
Ventanas
- Pitón versión 2.7.10 o superior.
- Potencia Shell, para usuarios de Windows 7, debe tener la versión 3.0 o superior para firma de aplicaciones.
- Herramientas de depuración para Windows es un conjunto de herramientas para mejorar las capacidades de depuración. Se recomienda instalar con el SDK de Windows 10.0.15063.468.
Inicio rápido
Crear un proyecto
npm i -g cordova cordova create sampleApp cd sampleApp cordova platform add electron
Aviso: si utiliza la CLI de Cordova antes de la versión 9.x, deberá utilizar el cordova-electron
argumento en lugar de electron
para cualquier comando que requiera el nombre de la plataforma. Por ejemplo:
cordova platform add cordova-electron
cordova run cordova-electron
Vista previa de un proyecto
No es necesario crear la aplicación Electron para obtener una vista previa. Dado que el proceso de construcción puede ser lento, se recomienda pasar el --nobuild
marca para deshabilitar el proceso de compilación al obtener una vista previa.
cordova run electron --nobuild
Construir un proyecto
Depurar compilaciones
cordova build electron cordova build electron --debug
Versión de compilaciones
cordova build electron --release
Personalización de las opciones de la ventana de la aplicación
Electron ofrece muchas opciones para manipular el BrowserWindow
. Esta sección cubrirá cómo configurar algunas opciones básicas. Para obtener una lista completa de opciones, consulte la Documentos de Electron – Opciones de la ventana del navegador.
Al trabajar con un proyecto de Cordova, se recomienda crear un archivo de configuración de Electron dentro del directorio raíz del proyecto y establecer su ruta relativa en la opción de preferencia ElectronSettingsFilePath
, en el config.xml
expediente.
Ejemplo config.xml
:
<platformname="electron"><preferencename="ElectronSettingsFilePath"value="res/electron/settings.json"/>platform>
Para anular o establecer cualquier opción de BrowserWindow, en este archivo las opciones se agregan al browserWindow
propiedad.
Ejemplo res/electron/settings.json
:
"browserWindow": ...
Cómo establecer el tamaño predeterminado de la ventana
Por defecto, el width
se establece en 800 y el height
ajustado a 600. Esto se puede anular configurando el width
y height
propiedad.
Ejemplo:
"browserWindow":"width":1024,"height":768
Cómo deshabilitar el tamaño de la ventana
Establecer el resizable
flag, puede deshabilitar la capacidad del usuario para cambiar el tamaño de la ventana de su aplicación.
Ejemplo:
"browserWindow":"resizable":false
Cómo hacer que la ventana sea de pantalla completa
Utilizando el fullscreen
flag, puede forzar que la aplicación se inicie en pantalla completa.
Ejemplo:
"browserWindow":"fullscreen":true
Cómo admitir las API de Node.js y Electron
Selecciona el nodeIntegration
Marcar propiedad a true
. De forma predeterminada, esta marca de propiedad se establece en false
para admitir bibliotecas populares que insertan símbolos con los mismos nombres que Node.js y Electron ya usan.
Puede leer más sobre esto en Electron docs: No puedo usar jQuery / RequireJS / Meteor / AngularJS en Electron.
Ejemplo:
"browserWindow":"webPreferences":"nodeIntegration":false
Personalización del proceso principal del electrón
Si es necesario personalizar el proceso principal del Electron más allá del alcance de los ajustes de configuración del Electron, se pueden agregar oportunidades directamente al cdv-electron-main.js
archivo ubicado en PROJECT_ROOT_DIR/platform/electron/platform_www/
. Este es el proceso principal de la aplicación.
❗ Sin embargo, no se recomienda modificar este archivo como proceso de actualización para
cordova-electron
es eliminar la plataforma anterior antes de agregar la nueva versión.
DevTools
los --release
y --debug
Las banderas controlan la visibilidad de DevTools. DevTools se muestran de forma predeterminada en Depurar compilaciones (without a flag
o con --debug
). Si desea ocultar el pase de DevTools en el --release
marca al construir o ejecutar la aplicación.
Nota: DevTools se puede cerrar o abrir manualmente con la compilación de depuración.
Construir configuraciones
Configuraciones de construcción predeterminadas
De forma predeterminada, sin configuración adicional, cordova build electron
creará paquetes predeterminados para el sistema operativo (SO) host que activa el comando. A continuación, se muestra la lista de paquetes predeterminados para cada sistema operativo.
Linux
Paquete | Arco |
---|---|
tar.gz | x64 |
Mac
Paquete | Arco |
---|---|
maldición | x64 |
Código Postal | x64 |
Ventanas
Paquete | Arco |
---|---|
nsis | x64 |
Personalización de configuraciones de construcción
Si por alguna razón desea personalizar las configuraciones de compilación, las modificaciones se colocan dentro del build.json
archivo ubicado en el directorio raíz del proyecto. P.ej PROJECT_ROOT_DIR/build.json
. Este archivo contiene todas las configuraciones de compilación para todas las plataformas (Android, Electron, iOS, Windows).
Ejemplo de estructura de configuración
"electron":
Dado que el marco de Electron es para crear aplicaciones multiplataforma, se requieren múltiples configuraciones para cada compilación de SO. los electron
nodo, en el build.json
archivo, contiene tres propiedades que separan las configuraciones de compilación para cada sistema operativo.
Ejemplo de estructura de configuración con cada plataforma
"electron":"linux":,"mac":,"windows":
Cada nodo del sistema operativo contiene propiedades que se utilizan para identificar qué paquete generar y cómo firmar.
Propiedades del sistema operativo:
package
es una matriz de formatos de paquetes que se generarán.arch
es una serie de arquitecturas para las que se construye cada paquete.signing
es un objeto que contiene información de firma. Consulte Configuraciones de firma para obtener más información.
Cualquier propiedad que no esté definida volverá a los valores predeterminados.
Añadiendo un package
los package
La propiedad es una lista de matriz de paquetes que se generarán. Si la propiedad está definida, los paquetes predeterminados no se utilizan a menos que se agreguen. El orden de los paquetes no tiene importancia.
El siguiente ejemplo de configuración generará tar.gz
, dmg
y zip
paquetes para macOS.
"electron":"mac":"package":["dmg","tar.gz","zip"]
Paquetes disponibles por sistema operativo
Tipo de paquete | Linux | Mac OS | Ventanas |
---|---|---|---|
defecto | – | dmg zip |
– |
maldición | – | ✅ | – |
mas | – | ✅ | – |
mas-dev | ✅ | – | – |
paquete | – | ✅ | – |
7z | ✅ | ✅ | ✅ |
Código Postal | ✅ | ✅ | ✅ |
tar.xz | ✅ | ✅ | ✅ |
tar.lz | ✅ | ✅ | ✅ |
tar.gz | ✅ | ✅ | ✅ |
tar.bz2 | ✅ | ✅ | ✅ |
dir | ✅ | ✅ | ✅ |
nsis | – | – | ✅ |
nsis-web | – | – | ✅ |
portátil | – | – | ✅ |
aprox. | – | – | ✅ [1] |
msi | – | – | ✅ |
AppImage | ✅ | – | – |
quebrar | ✅ | – | – |
debutante | ✅ | – | – |
rpm | ✅ | – | – |
freebsd | ✅ | – | – |
pacman | ✅ | – | – |
p5p | ✅ | – | – |
apk | ✅ | – | – |
- [1] Solo Windows 10 puede crear paquetes de AppX.
Configuración del paquete arch
los arch
property es una lista de arreglos de arquitecturas para las que está construido cada paquete. Cuando se define la propiedad, el arco predeterminado no se usa a menos que se agregue.
❗ No todas las arquitecturas están disponibles para todos los sistemas operativos. Por favor revise el Liberaciones de electrones para identificar combinaciones válidas. Por ejemplo, macOS (Darwin) solo es compatible con x64.
Arco disponible
- ia32
- x64
- armv71
- arm64
El ejemplo anterior generará una x64
dmg
paquete.
"electron":"mac":"package":["dmg"],"arch":["x64"]
Soporte de compilación multiplataforma
❗ No todas las plataformas admiten esta función y pueden tener limitaciones.
Es posible construir para múltiples plataformas en un solo sistema operativo, pero tiene limitaciones. Se recomienda que el sistema operativo del constructor (SO host) coincida con la plataforma que se está construyendo.
La siguiente matriz muestra cada sistema operativo host y para qué plataformas son capaces de crear aplicaciones.
Anfitrión [1] | Linux | Mac | Ventana |
---|---|---|---|
Linux | ✅ | ❗ [2] | |
Mac [3] | ✅ | ✅ | ❗ [2] |
Ventana | ✅ |
Limitaciones:
- [1] Si la aplicación contiene dependencia nativa, solo se puede compilar en la plataforma de destino.
- [2] Linux y macOS no pueden crear paquetes de Windows Appx para la Tienda Windows.
- [3]Todas las dependencias del sistema necesarias, excepto rpm, se descargarán automáticamente bajo demanda. RPM se puede instalar con brebaje. (macOS Sierra 10.12+)
El siguiente ejemplo habilita la compilación multiplataforma para todos los sistemas operativos y usa las configuraciones de compilación predeterminadas.
"electron":"linux":,"mac":,"windows":
Configuraciones de firma
Firma de macOS
Hay tres tipos de objetivos de firma. (debug
, release
, y store
). Cada sección tiene lo siguiente propiedades:
llave | descripción |
---|---|
derechos | Valor de ruta de cadena al archivo de derechos. |
derechos heredar | Valor de ruta de cadena al archivo de derechos que hereda la configuración de seguridad. |
identidad | Valor de cadena del nombre del certificado. |
requisitos | Valor de ruta de cadena del archivo de requisitos.
❗ Esto no está disponible para |
perfil de aprovisionamiento | Valor de ruta de cadena del perfil de aprovisionamiento. |
Configuración de ejemplo:
"electron":"mac":"package":["dmg","mas","mas-dev"],"signing":"release":"identity":"APACHE CORDOVA (TEAMID)","provisioningProfile":"release.mobileprovision"
Para la firma de macOS, existen algunas excepciones sobre cómo se usa la información de firma. De forma predeterminada, todos los paquetes a excepción de mas
y mas-dev
, utilizar el debug
y release
configuraciones de firma.
Usando la configuración de ejemplo anterior, repasemos algunos casos de uso para comprender mejor las excepciones.
Caso de uso 1:
cordova build electron --debug
El comando anterior:
- Generar un
dmg
construir ymas-dev
construir usando eldebug
configuraciones de firma. - Ignora el
mas
paquete de destino.
Caso de uso 2:
cordova build electron --release
El comando anterior:
- Generar un
dmg
construir usando elrelease
config. - Generar un
mas
construir usando elstore
config. - Ignora el
mas-dev
paquete de destino.
Firma de Windows
La información de firma se compone de dos tipos. (debug
, release
). Cada sección tiene las siguientes propiedades:
llave | descripción |
---|---|
certificadoArchivo | Ruta de cadena al archivo de certificado. |
certificadoPassword | Valor de cadena de la contraseña del archivo de certificado.
Alternativa: La contraseña se puede establecer en la variable de entorno |
certificateSubjectName | Valor de cadena del asunto del certificado de firma.
❗ Requerido para la firma de código EV y requiere Windows |
certificadoSha1 | Valor de cadena del hash SHA1 del certificado de firma.
❗ Requiere Windows |
FirmaHashAlgorithms | Colección de algoritmos de canto a utilizar. (sha1 , sha256 )
❗ AppX solo admite compilaciones |
additionalCertificateFile | Ruta de cadena a los archivos de certificado adicionales. |
Configuración de ejemplo:
"electron":"windows":"package":["nsis"],"signing":"release":"certificateFile":"path_to_files","certificatePassword":"password"
Firma de Linux
No existen requisitos de firma para las compilaciones de Linux.
Complementos
Todos los complementos basados en navegador se pueden utilizar con la plataforma Electron.
Al agregar un complemento, si el complemento admite tanto el electron
y browser
plataforma, la electron
se utilizará una porción. Si el complemento falla electron
pero contiene el browser
implementación, recurrirá a la browser
implementación.
Internamente, Electron está usando Chromium (Chrome) como su vista web. Algunos complementos pueden tener condiciones escritas específicamente para cada navegador diferente. En este caso, puede afectar el comportamiento de lo que se pretende. Dado que Electron puede admitir funciones que el navegador no admite, estos complementos posiblemente deban actualizarse para el electron
plataforma.
Si te sientes motivado, eres capaz de dejar un escrito acerca de qué te ha parecido este enunciado.