Electron (anteriormente conocido como Atom Shell ) [ 5 ] es un marco de software libre y de código abierto desarrollado y mantenido por la Fundación OpenJS . [ 6 ] El marco está diseñado para crear aplicaciones de escritorio utilizando tecnologías web (principalmente HTML , CSS y JavaScript , aunque también son posibles otras tecnologías como marcos de front-end y WebAssembly ) que se renderizan utilizando una versión del motor del navegador Chromium y un back-end que utiliza el entorno de ejecución Node.js. [ 7 ] También utiliza varias API para habilitar funcionalidades como la integración nativa con servicios de Node.js y un módulo de comunicación entre procesos .
Electron fue creado originalmente para Atom [ 5 ] y es el marco de interfaz gráfica de usuario principal detrás de varios otros proyectos de código abierto, incluidos GitHub Desktop , Light Table , [ 8 ] WordPress Desktop, [ 9 ] y Eclipse Theia . [ 10 ] También se utiliza en el editor de código propietario de Microsoft, Visual Studio Code .
Arquitectura
Chromium constituye la base de un entorno de ejecución gestionado , que permite a los desarrolladores de aplicaciones escribir aplicaciones multiplataforma en JavaScript o TypeScript con seguridad de memoria y utilizar tecnologías de navegador web como HTML , CSS y SVG para gráficos.
Las aplicaciones basadas en Electron incluyen un proceso principal y varios procesos de renderizado. El proceso principal ejecuta la lógica de la aplicación (por ejemplo, menús, comandos de shell, eventos del ciclo de vida) y puede iniciar varios procesos de renderizado mediante la creación de una instancia de la BrowserWindowclase, que carga una ventana que aparece en la pantalla para renderizar HTML, CSS, etc.
Tanto el proceso principal como el de renderizado pueden ejecutarse con la integración de Node.js si el nodeIntegrationcampo en el proceso principal está configurado en true.
La mayoría de las API de Electron están escritas en C++ u Objective-C y se exponen directamente al código de la aplicación a través de enlaces JavaScript . [ 11 ]
Historia
En septiembre de 2021, Electron pasó a un ciclo de lanzamiento de ocho semanas entre versiones principales para coincidir con el ciclo de lanzamiento de Chromium Extended Stable y para cumplir con un nuevo requisito de la Microsoft Store que exige que las aplicaciones basadas en navegador estén dentro de las dos versiones principales de la última versión del motor del navegador . [ 12 ]
Electron lanza con frecuencia nuevas versiones principales junto con cada lanzamiento de Chromium . Las últimas tres versiones estables cuentan con el soporte del equipo de Electron. [ 13 ]
Uso
Las aplicaciones de escritorio creadas con Electron incluyen Atom , [ 41 ] balenaEtcher , [ 42 ] Discord , Slack , [ 43 ] y Visual Studio Code . [ 44 ] [ 45 ] El navegador Brave se basaba en Electron antes de ser reescrito para usar Chromium directamente, [ 46 ] mientras que Microsoft Teams usó Electron antes de la versión 2.0. [ 47 ] [ 48 ]
Recepción
La crítica más común a Electron es que requiere un aumento excesivo del tamaño del software cuando se usa para programas simples. [ 49 ] Como resultado, Michael Larabel se ha referido al framework como "notorio entre la mayoría de los usuarios de escritorio Linux por ser pesado en recursos, no integrarse bien con la mayoría de los escritorios y ser generalmente despreciado". [ 50 ] Los investigadores han demostrado que el amplio conjunto de características de Electron puede ser secuestrado por actores maliciosos con acceso de escritura a los archivos JavaScript fuente. Esto requiere acceso de root en sistemas tipo Unix y no es considerado una vulnerabilidad por los desarrolladores de Electron. [ 51 ] Quienes están preocupados porque Electron no siempre se basa en la versión más reciente de Chromium han recomendado aplicaciones web progresivas como alternativa. [ 52 ]
Véase también
Referencias
- ↑ "electron/electron" . GitHub . Archivado del original el 2 de agosto de 2016. Consultado el 8 de mayo de 2018 .
- ↑ "Lanzamiento de Electron v43.1.0" . Lanzamientos de Electron . 8 de julio de 2026. Consultado el 14 de julio de 2026 .
- ↑ "Electron v45.0.0-nightly.20260706 Release" . Electron Releases . 6 de julio de 2026. Consultado el 14 de julio de 2026 .
- ↑ "electron/LICENSE en master" . GitHub . Archivado del original el 12 de mayo de 2017. Recuperado el 3 de julio de 2020 .
- 1 2 Sawicki, Kevin (23 de abril de 2015). "La capa atómica ahora es el electrón" . Electron . Archivado del original el 9 de noviembre de 2017. Recuperado el 6 de enero de 2022 .
- ↑ "Crea aplicaciones de escritorio multiplataforma con JavaScript, HTML y CSS | Electron" . Archivado del original el 9 de mayo de 2022. Consultado el 1 de febrero de 2023 .
- ↑ "Electron Internals: Using Node as a Library" . electronjs.org . 8 de agosto de 2016. Archivado del original el 9 de noviembre de 2017. Consultado el 3 de julio de 2020 .
- ↑ Horner, Gabriel (10 de diciembre de 2015). "Mesa de luz 0.8.0" . lighttable.com. Archivado del original el 13 de diciembre de 2015. Recuperado el 3 de julio de 2020 .
- ↑ "Repositorio de GitHub" . GitHub . Archivado del original el 19 de febrero de 2016. Consultado el 16 de junio de 2019 .
- ↑ "Theia - Plataforma IDE en la nube y de escritorio" . theia-ide.org . Archivado del original el 20 de abril de 2018. Consultado el 31 de diciembre de 2021 .
- ↑ "De nativo a JavaScript en Electron | Blog de Electron" . electronjs.org . 19 de marzo de 2019. Archivado del original el 26 de abril de 2019. Consultado el 26 de abril de 2019 .
- ↑ "Cadencia de lanzamiento de la nueva versión de Electron | Electron" . electronjs.org . 14 de julio de 2021. Archivado del original el 14 de julio de 2021. Consultado el 9 de febrero de 2022 .
- ↑ "Electron Releases | Electron" . electronjs.org . Archivado del original el 16 de diciembre de 2022. Consultado el 16 de diciembre de 2022 .
- 1 2 "Versión electron v16.0.0 · electron/electron" . GitHub . Archivado del original el 6 de diciembre de 2021 . Recuperado el 3 de diciembre de 2021 .
- 1 2 "Versión electron v17.0.0 · electron/electron" . GitHub . Archivado del original el 12 de febrero de 2022 . Recuperado el 28 de febrero de 2022 .
- 1 2 "Versión electron v18.0.0 · electron/electron" . GitHub . Archivado del original el 4 de mayo de 2022. Consultado el 4 de mayo de 2022 .
- 1 2 3 "Lanzamiento de electron v19.0.0 · electron/electron" . GitHub . Archivado del original el 31 de mayo de 2022. Recuperado el 31 de mayo de 2022 .
- 1 2 "Versión electron v21.0.0 · electron/electron" . GitHub . Archivado del original el 16 de diciembre de 2022 . Recuperado el 16 de diciembre de 2022 .
- 1 2 "Versión electron v22.0.0 · electron/electron" . GitHub . Archivado del original el 15 de diciembre de 2022 . Recuperado el 16 de diciembre de 2022 .
- ↑ "Lanzamiento de electron v20.0.0 · electron/electron" . GitHub . Archivado del original el 16 de diciembre de 2022. Consultado el 16 de diciembre de 2022 .
- ↑ "Lanzamiento de electron v23.0.0 · electron/electron" . GitHub . Archivado del original el 23 de septiembre de 2023. Consultado el 23 de septiembre de 2023 .
- ↑ "Lanzamiento de electron v24.0.0 · electron/electron" . GitHub . Archivado del original el 23 de septiembre de 2023. Consultado el 23 de septiembre de 2023 .
- ↑ "Lanzamiento de electron v25.0.0 · electron/electron" . GitHub . Archivado del original el 23 de septiembre de 2023. Consultado el 23 de septiembre de 2023 .
- ↑ "Lanzamiento de electron v26.0.0 · electron/electron" . GitHub . Archivado del original el 23 de septiembre de 2023. Consultado el 23 de septiembre de 2023 .
- ↑ "Lanzamiento de electron v27.0.0 · electron/electron" . GitHub . 10 de octubre de 2023. Archivado del original el 11 de octubre de 2023. Consultado el 11 de octubre de 2023 .
- ↑ "Lanzamiento de electron v28.0.0 · electron/electron" . GitHub . 4 de diciembre de 2023. Archivado del original el 14 de diciembre de 2023. Consultado el 14 de diciembre de 2023 .
- ↑ "Lanzamiento de electron v33.0.0 · electron/electron" . GitHub . 14 de octubre de 2024. Archivado del original el 4 de diciembre de 2024. Consultado el 16 de octubre de 2024 .
- ↑ "Lanzamiento de electron v34.0.0 · electron/electron" . GitHub . 14 de enero de 2025. Archivado del original el 10 de junio de 2025. Consultado el 7 de mayo de 2025 .
- ↑ "Lanzamiento de electron v35.0.0 · electron/electron" . GitHub . 3 de marzo de 2025. Archivado del original el 10 de junio de 2025. Consultado el 7 de mayo de 2025 .
- ↑ "Lanzamiento de electron v36.0.0 · electron/electron" . GitHub . 28 de abril de 2025. Archivado del original el 26 de noviembre de 2025. Consultado el 16 de octubre de 2025 .
- ↑ "Electron 40.0.0 | Electron" . electronjs.org . 13 de enero de 2026. Consultado el 24 de febrero de 2026 .
- ↑ "Electron v37.10.3 Release" . Electron Releases . 25 de noviembre de 2025. Archivado del original el 16 de diciembre de 2025. Consultado el 6 de enero de 2026 .
- ↑ "Lanzamiento de Electron v38.7.2" . Lanzamientos de Electron . 25 de noviembre de 2025. Archivado del original el 13 de diciembre de 2025. Consultado el 6 de enero de 2026 .
- ↑ "Electron v39.2.7 Release" . Electron Releases . 12 de diciembre de 2025. Consultado el 6 de enero de 2026 .
- ↑ "Electron 40.0.0" . Lanzamientos de Electron . 13 de enero de 2026. Consultado el 6 de enero de 2026 .
- ↑ "v41.0.0 | Lanzamientos de Electron" . releases.electronjs.org . Consultado el 1 de julio de 2026 .
- ↑ "v42.0.0 | Lanzamientos de Electron" . releases.electronjs.org . Consultado el 1 de julio de 2026 .
- ↑ "v43.0.0 | Lanzamientos de Electron" . releases.electronjs.org . Consultado el 1 de julio de 2026 .
- ↑ "v44.0.0-alpha.3 | Electron Releases" . releases.electronjs.org . Consultado el 14 de julio de 2026 .
- ↑ "v44.0.0-nightly.20260507 | Electron Releases" . releases.electronjs.org . Consultado el 1 de julio de 2026 .
- ↑ Sawicki, Kevin (23 de abril de 2015). "La capa atómica ahora es el electrón" . Electron . Archivado del original el 16 de octubre de 2019. Recuperado el 15 de julio de 2017 .
- ↑ "Etcher en GitHub" . GitHub . Archivado del original el 16 de noviembre de 2018. Consultado el 7 de julio de 2020 .
- ↑ "Creación de aplicaciones híbridas con Electron" . Several People Are Coding . 25 de octubre de 2016. Archivado del original el 16 de octubre de 2019. Consultado el 12 de agosto de 2017 .
- ↑ Bright, Peter (29 de abril de 2015). "El nuevo editor de código de Microsoft está basado en Chromium de Google" . Ars Technica . Archivado del original el 7 de mayo de 2015. Consultado el 18 de noviembre de 2015 .
- ↑ "Proyecto de código abierto" . GitHub . 29 de marzo de 2022. Archivado del original el 23 de noviembre de 2015. Consultado el 20 de mayo de 2018 .
- ↑ Singh, Jagmeet (3 de enero de 2017). "Ahora incluso se está haciendo aprendizaje automático en JavaScript" . Open Source For U. Archivado del original el 7 de enero de 2017. Recuperado el 26 de agosto de 2022 .
- ↑ msdmaguire. "Cómo usa la memoria Microsoft Teams - Microsoft Teams" . docs.microsoft.com . Archivado del original el 8 de diciembre de 2020. Consultado el 12 de noviembre de 2021 .
- ↑ Redmond, Tony (25 de junio de 2021). "Teams 2.0 se aleja de Electron para adoptar Edge WebView2" . Office 365 para profesionales de TI . Consultado el 2 de agosto de 2024 .
- ↑ Proven, Liam (19 de noviembre de 2021). "Algunas joyas del software libre: Franz, RamBox, Pidgin y más" . The Register. Archivado del original el 19 de noviembre de 2021. Recuperado el 26 de agosto de 2022 .
- ↑ Larabel, Michael (9 de febrero de 2019). "Las aplicaciones Electron son malas, así que ahora puedes crear aplicaciones de escritorio con HTML5 + Golang" . Phoronix. Archivado del original el 26 de agosto de 2022. Recuperado el 26 de agosto de 2022 .
- ↑ Gallagher, Sean (7 de agosto de 2019). "Skype, Slack y otras aplicaciones basadas en Electron pueden ser fácilmente comprometidas" . Ars Technica. Archivado del original el 7 de agosto de 2019. Recuperado el 26 de agosto de 2022 .
- ↑ Hoffman, Chris (15 de agosto de 2019). "Esa aplicación nativa probablemente sea solo un navegador web antiguo" . How To Geek. Archivado del original el 15 de agosto de 2019. Recuperado el 26 de agosto de 2022 .
Enlaces externos
- Software de 2013
- Desarrollo de aplicaciones de escritorio multiplataforma
- Software multiplataforma
- GitHub
- Google Chrome
- Software gratuito de Microsoft
- Software que utiliza la licencia MIT.