Electron 12.0.0 llega con base en Chromium 89, nuevas APIs y mas
Hace poco fue anunciada la liberación de la nueva versión de Electron 12.0.0, la cual llega con la integración de las actualizaciones de Chromium 89, el motor V8 8.9 y Node.js 14.16, además de que se destacan algunos cambios importantes, de ellos la introducción de nuevas API y más.
Para quienes desconocen de Electron, deben saber que este es un framework de aplicaciones de escritorio multiplataforma que utiliza tecnologías web, cuya lógica está determinada por JavaScript, HTML y CSS y la funcionalidad se puede ampliar a través del sistema de complemento. Está desarrollado por GitHub y se basa en el desarrollo en C++.
Los componentes centrales de Electron son Chromium, Node.js y V8. La infraestructura está codificada en Node.js,y la interfaz se basa en las herramientas Chromium, la parte de código abierto de Google Chrome. Los módulos Node.js están disponibles para desarrolladores, así como una API avanzada para crear cuadros de diálogo nativos, integrar aplicaciones, crear menús contextuales, integrarse con el sistema de salida de notificaciones, manipulación de ventanas e interacción con los subsistemas Chromium.
A diferencia de las aplicaciones web, los programas basados en Electron vienen en forma de archivos ejecutables autónomos que no están vinculados al navegador.
En este caso, el desarrollador no necesita preocuparse por portar la aplicación para varias plataformas, Electron proporcionará la capacidad de construir para todos los sistemas compatibles con Chromium. Electron también proporciona herramientas para organizar la entrega automática y la instalación de actualizaciones (las actualizaciones se pueden entregar desde un servidor separado o directamente desde GitHub).
¿Qué hay de nuevo en Electron 12.0.0?
Esta nueva versión de Electron llega con algunos cambios y mejoras bastante importantes, de las cuales se destacan por ejemplo la implementación de notificaciones XML Toast personalizadas en Windows, asi como también el soporte mejorado del modo oscuro en Windows y sobre todo que se ha realizado la transición a la nueva rama LTS de la plataforma Node.js 14 (anteriormente se usaba la rama 12.x).
Por la parte de las nuevas APIs, se menciona que se agregó la API webFrameMain, esta permite acceder desde el proceso principal a la información sobre RenderFrame ejecutada en instancias separadas de WebContents (la API webFrameMain es equivalente a la API webFrame, pero se puede utilizar desde el proceso principal).
Otro de los cambios que se destaca es el desuso del módulo «remote», el cual fue reemplazado por @electron/remote y también se destaca que la compatibilidad con Flash fue eliminada, esto debido a que Chromium ha eliminado la compatibilidad con Flash.
De los demás cambios que se destacan en el anuncio de esta nueva versión:
- API agregada para habilitar/deshabilitar el corrector ortográfico.
- Se añadio exitCode para los detalles del proceso de renderizado.
- agregado net.online para detectar si hay actualmente una conexión a Internet.
- powerMonitor.onBatteryPower agregado.
- se agregó webPreferences.preferredSizeMode para permitir que las vistas se dimensionen de acuerdo con el tamaño mínimo de su documento.
- agregada nueva opción de credenciales para net.request().
- adición de una nueva API asíncrona shell.trashItem(), reemplazando la síncrona shell.moveItemToTrash().
- API de captura de pantalla agregada para session.setPermissionRequestHandler.
- Se añadió el faltante webFrameMain.executeJavaScriptInIsolatedWorld().
- Soporte de lectura / escritura para el activador de tostadas CLSID en accesos directos.
- Se añadió el soporte agregado para especificar explícitamente los modos directo, auto_detect o del sistema en session.setProxy().
- Se añadió soporte agregado para mostrar el menú compartido de macOS, asi como un evento de cambio de usuario rápido a powerMonitor en macOS.
- Se permite que el método «ContextBridge exposeInMainWorld» exponga las API que no son objetos.
Finalmente si estás interesado en conocer más al respecto de esta nueva versión, puedes consultar los detalles en el siguiente enlace.
¿Como obtener Electron en Linux?
Para poder ejecutar aplicaciones y/o poder trabajar con Electron dentro de Linux, solamente debemos de contar con Node.JS instalado en el sistema y su gestor de paquetes NPM.
Para instalar Node.JS en Linux, puedes visitar la publicación en donde hablamos sobre de Node.JS 15 y al final de ella encontraras los comandos de instalación para algunas de las diferentes distribuciones de Linux.