Se dio a conocer el lanzamiento de la nueva versión de Electron 27.0 y en este lanzamiento se destacan diversos cambios los cuales en su mayoría son la eliminación de varios métodos, propiedades y eventos, asi como también el soporte para macOS 10.13 y de manera indirecta para Windows 7/8/8.1.
Para quienes desconocen de Electron, deben saber que este permite crear cualquier aplicación gráfica utilizando tecnologías de navegador, cuya lógica se define en JavaScript, HTML y CSS, y la funcionalidad se puede ampliar a través de un sistema de complementos.
Los desarrolladores tienen acceso a los módulos de Node.js, así como a una API extendida para crear diálogos nativos, integrar aplicaciones, crear menús contextuales, integrarse con el sistema de visualización de notificaciones, manipular ventanas e interactuar con los subsistemas de Chromium.
Principales novedades de Electron 27.0
En esta nueva versión que se presenta de Electron 27.0 una dé sus novedades más importantes son las mejoras presentadas con Wayland, ya que ahora por defecto está habilitado el modo WaylandWindowDecorations, que permite, cuando se ejecuta con soporte para Wayland (–ozone-platform=wayland), cambiar correctamente el tamaño y mover ventanas en entornos Wayland basados en GNOME y Weston, que no soportan el protocolo de decoración XDG. En entornos que admiten decoración XDG, como KDE y Sway, se ignora el modo WaylandWindowDecorations.
Otra de las novedades que presenta Electron 27.0 es la nueva API que fue añadida para tener en cuenta la configuración del sistema que controla el nivel de transparencia de fondo en las aplicaciones, asi como también el soporte para la API chrome.scripting, que le permite insertar su propio JavaScript y CSS en las páginas.
Ademas de ello, también se destaca que se agregó la API BrowserWindow.showAllTabs, se menciona que la propiedad tabbingIdentifier se ha agregado al objeto BrowserWindow. La API chrome.tabs.query está parcialmente implementada.
En Linux, es posible definir la configuración del tema oscuro a través del portal «configuración xdg» y se desaprobó la API ipcRenderer.sendTo(), que debería reemplazarse por un MessageChannel para la comunicación entre dos renderizadores.
Por otra parte, en SystemPreferences, se eliminaron los eventos de cambio de esquema de color (se debe usar el evento actualizado del módulo NativeTheme en lugar de cambio de esquema de color invertido y cambio de esquema de color de alto contraste).
También, en esta nueva versión de Electron 27 se ha interrumpido la compatibilidad con macOS 10.13 (High Sierra) y macOS 10.14 (Mojave) y debido a la política de soporte con este lanzamiento se marca el fin de soporte para las versiones de Electron 24.x y ademas de ello se ha completado el ciclo de soporte extendido para Electron 22.x, la cual fue la última rama compatible con Windows 7/8/8.1.
De los demás cambios que se destacan de esta nueva versión:
- Chromium 118.0.5993.32, DevTools 118
- Node.js 18.17.1
- V8 11.8
- Se agregó la capacidad de enviar encabezados HTTP específicos a los métodos session.downloadURL() y webContents.downloadURL().
- Se agregaron los métodos safeStorage.setUsePlainTextEncryption y safeStorage.getSelectedStorageBackend.
- Se agregó el indicador «–dns-result-order».
- El método webContents.getPrinters se ha eliminado en favor de webContents.getPrintersAsync.
- Los métodos systemPreferences.{get,set}AppLevelAppearance y systemPreferences.appLevelAppearance se eliminaron y se reemplazaron por el módulo nativoTheme.
- El método systemPreferences.getColor ha dejado de admitir el valor de texto de control seleccionado alternativo, en favor del fondo de contenido seleccionado.
- Se agregó soporte para el indicador CLI de Node.js –dns-result-order.
- Se agregó soporte para la personalización de la fuente matemática predeterminada junto con otras fuentes.
- Se agregó soporte para marcar un menú como iniciado por el teclado.
- Se agregó soporte para varios indicadores cli de Node.js más en el proceso principal.
- Se agregó soporte para varias claves de manifiesto de extensiones más, incluidas host_permissions, authory short_name.
- Se agregó la capacidad de enviar encabezados HTTP con session.downloadURL()
- Se agregó la capacidad de enviar encabezados HTTP con webContents.downloadURL()
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 la instalación de la última versión basta con teclear el siguiente comando:
npm install electron@latest