Se ha publicado el lanzamiento de la plataforma Electron 27.0.0, que proporciona un marco autónomo para el desarrollo de aplicaciones de usuario multiplataforma, utilizando como base los componentes Chromium, V8 y Node.js. El cambio significativo en el número de versión está relacionado con la actualización a la base de código Chromium 118, la plataforma Node.js 18.17.1 y el motor JavaScript V8 11.8.
Entre los cambios en la nueva versión:
- Se ha habilitado por defecto el modo WaylandWindowDecorations, que permite al iniciar con soporte Wayland (—ozone-platform=wayland) redimensionar y mover ventanas correctamente en entornos Wayland basados en GNOME y Weston, donde no se soporta el protocolo XDG Decoration. En entornos compatibles con XDG Decoration, como KDE y Sway, el modo WaylandWindowDecorations se ignora.
- Se ha añadido una API para tener en cuenta la configuración del sistema que gestiona el nivel de transparencia del fondo en las aplicaciones.
- Se ha añadido soporte para la API chrome.scripting, que permite inyectar su propio JavaScript y CSS en las páginas.
- Se han añadido los métodos safeStorage.setUsePlainTextEncryption y safeStorage.getSelectedStorageBackend.
- Se ha añadido la API BrowserWindow.showAllTabs. Se ha añadido la propiedad tabbingIdentifier al objeto BrowserWindow. Se ha implementado parcialmente la API chrome.tabs.query.
- Se ha agregado la capacidad de enviar ciertos encabezados HTTP a los métodos session.downloadURL() y webContents.downloadURL().
- Se ha añadido la bandera «—dns-result-order».
- En Linux se ha implementado la detección de configuraciones de tema oscuro a través del portal «xdg settings».
- Se ha marcado como obsoleta la API ipcRenderer.sendTo(), que debe ser reemplazada por MessageChannel para la comunicación entre dos renders.
- Se ha eliminado el método webContents.getPrinters; en su lugar se debe usar webContents.getPrintersAsync.
- Se han eliminado los métodos systemPreferences.{get,set}AppLevelAppearance y systemPreferences.appLevelAppearance, que han sido reemplazados por el módulo nativeTheme.
- En el método systemPreferences.getColor se ha dejado de soportar el valor alternate-selected-control-text; en su lugar se debe utilizar selected-content-background.
- En systemPreferences se han eliminado los eventos de cambio de esquemas de color (en lugar de inverted-color-scheme-changed y high-contrast-color-scheme-changed se debe usar el evento updated del módulo nativeTheme).
- Se ha dejado de soportar macOS 10.13 (High Sierra) y macOS 10.14 (Mojave).
- Se ha completado el ciclo de mantenimiento de Electron 22.x, la última rama que soporta Windows 7/8/8.1.
La plataforma Electron permite crear cualquier aplicación gráfica utilizando tecnologías web, cuya lógica de funcionamiento se define en JavaScript, HTML y CSS, y cuya funcionalidad puede ser ampliada a través de un sistema de complementos. Los desarrolladores tienen acceso a módulos de Node.js, así como a una API ampliada para la creación de diálogos nativos, integración de aplicaciones, creación de menús contextuales, integración con el sistema de notificaciones, manipulación de ventanas e interacción con subsistemas de Chromium.
A diferencia de las aplicaciones web, los programas basados en Electron se entregan como archivos ejecutables autónomos, no vinculados a un navegador. De este modo, el desarrollador no necesita preocuparse por portar la aplicación a diferentes plataformas, Electron permite la posibilidad de compilación para todos los sistemas soportados en Chromium. Electron también proporciona medios para organizar la entrega e instalación automática de actualizaciones (las actualizaciones se pueden entregar tanto desde un separado servidores, como directamente desde GitHub).
Entre las aplicaciones construidas sobre la plataforma Electron, se pueden destacar el editor Atom, el cliente de correo Mailspring, la herramienta para trabajar con Git GitKraken, el sistema de blogs WordPress Desktop, el cliente BitTorrent WebTorrent Desktop, así como los clientes oficiales para servicios como Skype, Signal, Slack, Basecamp, Twitch, Ghost, Wire, Wrike, Visual Studio Code y Discord. En total, el catálogo de programas de Electron presenta 744 aplicaciones. Para facilitar el desarrollo de nuevas aplicaciones, se ha preparado un conjunto de aplicaciones demo estándar que incluyen ejemplos de código para resolver diversas tareas.
Fuente: opennet.ru
