Electron 24.0.0 ya fue liberado y estas son sus novedades
Se dio a conocer hace poco el lanzamiento de la nueva versión de Electron 24.0.0 que proporciona un marco autosuficiente para desarrollar aplicaciones de usuario multiplataforma basadas en componentes Chromium, V8 y Node.js.
La plataforma Electron 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.
A diferencia de las aplicaciones web, los programas basados en Electron se entregan como ejecutables autónomos que no están vinculados a un navegador. Al mismo tiempo, el desarrollador no necesita preocuparse por portar la aplicación para varias plataformas, Electron brindará la capacidad de compilar para todos los sistemas compatibles con Chromium. Electron también proporciona herramientas para organizar la entrega e instalación automática de actualizaciones (las actualizaciones se pueden entregar desde un servidor independiente o directamente desde GitHub).
Principales novedades de Electron 24.0.0
En esta nueva versión de Electron 24.0.0 los cambios más significativos en el número de versión se debe a las actualizaciones del código base de Chromium 112, el marco Node.js 18.14.0 y el motor de JavaScript V8 11.2 .
Por la parte de los cambios realizados se destaca el cambió la lógica de procesamiento del tamaño de la imagen en el método nativeImage.createThumbnailFromPath(ruta, tamaño), en el que el parámetro «maxSize» que se reemplaza por «size» y ahora refleja el tamaño real de la miniatura creada, y no el máximo (es decir, si el tamaño es más pequeño, se aplicará la escala).
Otro de los cambios que se destaca, es en los métodos BrowserWindow.setTrafficLightPosition(position) y BrowserWindow.getTrafficLightPosition() han quedado obsoletos y en su lugar se deben usar BrowserWindow.setWindowButtonPosition(position) y BrowserWindow.getWindowButtonPosition().
Ademas de ello, tambien se destaca que se solucionó un problema por el cual los rechazos no manejados podían causar registros duplicados en algunos casos, asi como tambien las regiones arrastrables que no funcionan en las compilaciones de Mac App Store, un problema con la posible duplicación del icono del muelle en macOS y la cancelación de solicitudes de bluetooth cuando no se devolvían dispositivos.
De los demás cambios que se destacan de esta nueva version:
- En el método cookies.get(), se agregó la capacidad de filtrar Cookies en el modo HttpOnly.
- El parámetro logUsage se agregó al método shell.openExternal().
- webRequest ahora tiene la capacidad de filtrar solicitudes por tipo.
- Se agregó el evento devtools-open-url a webContents para abrir una nueva ventana.
- Se agregó el indicador enableLocalEcho al controlador de devolución de llamada ses.setDisplayMediaRequestHandler() para reflejar la entrada de audio externa en el flujo de salida local.
- Por defecto, el archivo de configuración incluye una optimización general que utiliza información obtenida de la compilación de todos los módulos.
- Se ha añadido types al filtro webRequest
- Se corrigió un problema con la pantalla completa HTML cuando la pantalla completa está deshabilitada.
- Arreglado WebUSB en macs ARM64.
- Se corrigió un resultado incorrecto devuelto al usar seguro como filtro de cookies.
- Se solucionó un problema por el que BroadcastChannel no funcionaba correctamente cuando contextIsolation:false.
- Se solucionó un problema por el cual minWidth/ minHeighty maxWidth/ maxHeight no se aplicarían si el usuario configuraba un aspectRatio en macOS.
- Se solucionó un problema por el cual llamar port.postMessage con MessagePortMain cuando algunos parámetros no válidos podía causar un bloqueo.
- Se solucionó un problema por el cual las regiones arrastrables capturaban incorrectamente los clics en las ventanas enmarcadas.
- Se solucionó un problema por el que al pasar tanto hasReply como actions a un proceso principal Notificación en macOS, la primera acción se oscurecía y no estaba disponible.
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.