Saltar al contenido principal

Electron becomes an OpenJS Foundation Impact Project

· Lectura de un minuto

At OpenJS World this morning, we announced that Electron has officially graduated from the OpenJS Foundation's incubation program, and is now an OpenJS Foundation Impact Project.

Electron entered incubation in December of 2019, at the last OpenJS Foundation global conference in Montreal. We're excited to take a larger role in the JavaScript community as an Impact Project, and continue our partnership with the OpenJS Foundation.


Learning more

You can read up on the foundation, its mission, and its members on the OpenJSF website. The OpenJS Foundation is host to a number of open source JavaScript projects including jQuery, Node.js, and webpack. It's supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft.

Electron is an open–source framework for building cross-platform desktop applications with web technologies. To learn more about the humans behind Electron and how they work together, take a look at our Governance page.

To get started with Electron itself, take a peek at our documentation.

Google Season of Docs

· 3 lectura mínima

Electron se enorgullece de estar participando en la segunda edición de la iniciativa de la Temporada de Documentación de Google (Google Season of Docs Initiative) que combina mentores de organizaciones de código abierto con escritores técnicos para mejorar la documentación del proyecto.


¿Qué es la Season of Docs?

Logo de Temporada de Documentos

Season of Docs es un programa que promueve la colaboración entre escritores técnicos y comunidades de código abierto en beneficio de ambas partes. Los mantenedores de código abierto utilizan la experiencia de escritura técnica del escritor para mejorar la estructura y el contenido de su documentación, mientras que el escritor técnico es presentado a una comunidad de código abierto bajo la guía de sus mentores. Obtenga más información sobre ello en el sitio web Season of Docs de Google.

Por primera vez participando en este programa, estaremos orientando a un solo escritor técnico que estará trabajando junto al Grupo de trabajo del ecosistema de Electron para remodelar partes de nuestra documentación. Puedes aprender más sobre la línea temporal de todo el proyecto aquí.

¿Cómo me registro?

¿Está interesado en colaborar con nosotros como escritor técnico? En primer lugar, familiarízate con la guía de escritura técnica de Google para el programa de este año y revisa los dos borradores de ideas del proyecto que hemos preparado.

Para ser seleccionado como escritor técnico de Electron para Season of Docs, los candidatos tendrán que solicitar en el sitio web de Google Season of Docs durante la fase de Solicitud de Escritor Técnico que se está ejecutando del 8 de junio al 9 de julio..

Tu solicitud debe incluir una propuesta, que es un documento escrito que describe en detalle lo que planeas lograr en los documentos de electrones durante el transcurso de 3 meses. Esta propuesta puede desarrollarse en uno de los puntos de partida mencionados en nuestro proyecto de idea doc, o puede ser algo completamente nuevo. ¿No sabes por dónde empezar? Puedes revisar la lista de propuestas aceptadas del año pasado para inspirarte.

Aparte de la propuesta, también estudiaremos sus antecedentes como escritor técnico. Por favor incluya una copia de su currículum con énfasis en la experiencia de escritura relevante, así como muestras técnicas de escritura (estas muestras podrían ser documentación existente, tutorial, artículos de blog, etc.)

Si quieres discutir las propuestas de proyecto, ¡envíanos un correo electrónico a season-of-docs@electronjs.org y podemos chatear desde ahí!

Referencias

Electron 9.0.0

· 5 lectura mínima

¡Electron 9.0.0 ha sido liberado! Incluye actualizaciones a Chromium 83, V8 8.3y Node.js 12.14. We've added several new API integrations for our spellchecker feature, enabled PDF viewer, and much more!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 9.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. La versión está empaquetada con versiones nuevas, correcciones y características nuevas. ¡No podemos esperar a ver lo que construyes con ellos! ¡Sigue leyendo para obtener más detalles sobre esta versión, y por favor comparte tus comentarios!

Notable Changes

  • Multiple improvements to the spellchecker feature. See more details in #22128 and #22368.
  • Improved window events handler efficiency on Linux. #23260.
  • Enable PDF viewer. #22131.

Vea la notas de lanzamiento 9.0.0 para la lista completa de nuevas características y cambios.

Próximas versiones de Electron

· 2 lectura mínima

Electron está actualmente en pausa con los lanzamientos principales


¿Qué está pasando?

Nuestro Calendario de lanzamiento principal se mueve a la par de Chromium y el proyecto Chromium ha tomado la reciente decisión pausar sus lanzamientos debido a los horarios de trabajo ajustados. Esto significa que durante la duración de la cadencia alterada de Chromium, Electron también pausará temporalmente nuevas versiones importantes.

Creemos que nuestra mejor opción es seguir los pasos de Chromium, y por eso mientras tanto el equipo de Electron cambiará a trabajo de tiempo completo en resolver errores, seguridad, performance y estabilidad.

Queremos asegurarnos de que tanto el bienestar de nuestros mantenedores como el de nuestros consumidores sea prioritario durante este tiempo, por lo que agradecemos sus comentarios y esperamos volver a nuestro programa de lanzamiento regular.

Para más actualizaciones, por favor sigue nuestra Cuentea de Twitter.

Edición (2020-03-30): Electron 9 estable apuntará a Chromium M83 y será lanzado el 19 de mayo de 2020, en respuesta al anuncio de Chromium de omitir la fecha estable de M82 y ajustar la fecha estable de M83.

Electron 8.0.0

· 8 lectura mínima

¡Electron 8.0.0 ha sido liberado! Incluye actualizaciones a Chromium 80, V8 8.0y Node.js 12.13.0. ¡Hemos añadido el corrector ortográfico integrado de Chrome y mucho más!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 8.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. La versión está empaquetada con versiones nuevas, correcciones y características nuevas. ¡No podemos esperar a ver lo que construyes con ellos! ¡Sigue leyendo para obtener más detalles sobre esta versión, y por favor comparte tus comentarios!

Notable Changes

  • Implementado el uso de la función de correctores ortográficos incorporados de Chrome. Consulte más detalles en #20692 y #21266.
  • La comunicación IPC ahora utiliza el algoritmo de clon estructurado de v8. Esto es más rápido, más característico y menos sorprendente que la lógica existente, y genera un aumento de rendimiento de 2x para tampones grandes y objetos complejos. La latencia de los mensajes pequeños no se ve afectada significativamente. Consulte más detalles en #20214.

Vea la notas de lanzamiento 8.0.0 para la lista completa de nuevas características y cambios.

Electron joins the OpenJS Foundation

· 2 lectura mínima

At Node+JS Interactive in Montreal, the OpenJS Foundation announced that it accepted Electron into the Foundation's incubation program. The Foundation is committed to supporting the healthy growth of the JavaScript ecosystem and web technologies by providing a neutral organization to host and sustain projects, as well as collaboratively fund activities for the benefit of the community at large.

The OpenJS Foundation is host to a number of open source JavaScript projects including jQuery, Node.js, and webpack. It's supported by 30 corporate and end-user members, including GoDaddy, Google, IBM, Intel, Joyent, and Microsoft. Electron is an open–source framework for building cross-platform desktop applications with web technologies.

This is an exciting move for Electron, and we see it as a next step in our evolution as an open-source project.


What this means for developers

Electron joining the OpenJS Foundation does not change how Electron is made, released, or used — and does not directly affect developers building applications with Electron. Even though Electron was originally created at GitHub in 2013, it is currently maintained by a number of organizations and individuals. In 2019, Electron codified its governance structure and invested heavily into formalizing how decisions affecting the entire project are made. We believe that having multiple organizations and developers investing in and collaborating on Electron makes the project stronger.

Lifting Electron up from being owned by a single corporate entity and moving it into a neutral foundation focused on supporting the web and JavaScript ecosystem is a natural next step as we mature as an open-source project.

Learning more

You can read up on the foundation, its mission, and its members on the OpenJSF website. For more information and quotes about the acceptance of Electron into the OpenJSF incubation program, check out the official press release. To learn more about the humans behind Electron and how they work together, take a look at our Governance page.

To get started with Electron itself, take a peek at our documentation.

Corrección de vulnerabilidad WebAudio de Chromium (CVE-2019-13720)

· 2 lectura mínima

A High severity vulnerability has been discovered in Chrome which affects all software based on Chromium, including Electron.

Esta vulnerabilidad ha sido asignada CVE-2019-13720. Puedes leer más al respecto en la Chrome Blog Post.

Tenga en cuenta que Chrome tiene informes de que esta vulnerabilidad se está utilizando, por lo que se recomienda encarecidamente que actualice Electron lo antes posible.


Ámbito

This affects any Electron application that may run third-party or untrusted JavaScript.

Mitigación

Affected apps should upgrade to a patched version of Electron.

We've published new versions of Electron which include fixes for this vulnerability:

Electron 7.0.1 incluye automáticamente la corrección desde el principio, antes de que se hiciera el anuncio. El electrón 8 tampoco se ve afectado. La vulnerabilidad no existía en Electron 5, por lo que esa versión tampoco se ve afectada.

Más información

Esta vulnerabilidad la descubrió Anton Ivanov y Alexey Kulaev en los Laboratorios Kaspersky e informó al equipo de Chrome. La entrada del blog de Chrome se puede encontrar aquí.

Para aprender más sobre las buenas prácticas para mantener tus aplicaciones Electron seguras, ve nuestro tutorial de seguridad.

Please file a GitHub Security Advisory if you wish to report a vulnerability in Electron.

Electron 7.0.0

· 5 lectura mínima

¡Electron 7.0.0 ha sido liberado! Incluye actualizaciones a Chromium 78, V8 7.8 y Node.js 12.8.1. Hemos añadido una ventana en versión de Arm 64, métodos IPC más rápidos, un nuevo API nativeTheme y mucho más!


El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 7.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. La versión está empaquetada con versiones nuevas, correcciones y características nuevas. ¡No podemos esperar a ver lo que construyes con ellos! ¡Sigue leyendo para obtener más detalles sobre esta versión, y por favor comparte tus comentarios!

Notable Changes

  • Mejoras de pila:

    PilaVersión en Electron 6Versión en Electron 7¿Qué hay de nuevo?
    Chromium76.0.3809.14678.0.3905.177, 78
    V87.67.87.7, 7.8
    Node.js12.4.012.8.112.5, 12.6, 12.7, 12.8, 12.8.1
  • Se agregó Windows en versión de Arm (64 bit). #18591, #20112

  • Añadido ipcRenderer.invoke() y ipcMain.handle() para asíncrono de peticiones/respuestas de IPC. Estos son recomendados intensamente en el módulo remote. Consulte esta publicación del blog «el módulo ‘remoto’ de Electron considerado dañino» para más información. #18449

  • Añadida la API nativeTheme para leer y responder a los cambios en el tema y el esquema de color del SO. #19758, #20486

  • Cambiado a un nuevo generador de Definiciones de TypeScript. Las definiciones resultantes son más precisas; así que si falla su compilación de TypeScript, esta es la causa probable. #18103

Consulte las notas 7.0.0 de lanzamiento para una lista más larga de cambios.

Restaurar archivos borrados

Puedes encontrar más información sobre estos y futuros cambios en la página Cambios de última hora planificados.

  • Las API obsoletas eliminadas:
    • Versiones basadas en invocaciones de funciones que ahora usan Promises. #17907
    • Tray.setHighlightMode() (macOS). #18981
    • app.enableMixedSandbox() #17894
    • app.getApplicationMenu(),
    • app.setApplicationMenu(),
    • powerMonitor.querySystemIdleState(),
    • powerMonitor.querySystemIdleTime(),
    • webFrame.setIsolatedWorldContentSecurityPolicy(),
    • webFrame.setIsolatedWorldHumanReadableName(),
    • webFrame.setIsolatedWorldSecurityOrigin() #18159
  • Session.clearAuthCache() ya no permite más filtrar los apuntes de caché vaciadas. #17970
  • Las interfaces nativas en macOS (menús, diálogos, etc.) ahora coinciden automáticamente con el ajuste del modo oscuro en la máquina del usuario. #19226
  • Actualizó el módulo electron para usar @electron/get. La versión mínima admitida del nodo ahora es el Nodo 8. #18413
  • El archivo electron.asar ya no existe. Cualquier script de empaquetado que dependa de su existencia sería actualizado. #18577

Fin de soporte para 4.x.y

Electron 4.x.y ha alcanzado el final de mantenimiento según la directiva de mantenimiento del proyecto. Se anima a los desarrolladores y aplicaciones a actualizar a una versión de Electron nueva.

Programa de retroalimentación

Continuamos usando nuestro Programa de Comentarios para pruebas. Los proyectos quienes participan en este programa de pruebas de las betas de Electron en sus aplicaciones; y a cambio, los defectos nuevos que encuentran están priorizados para la versión estable. Si quieres participar o aprender más, revisa nuestra publicación de nuestro blog sobre el programa.

¿Y ahora, qué?

A corto plazo puedes esperar que el equipo continúe enfocándose en mantener al día con el desarrollo de los principales componentes que componen Electron, incluyendo Chromium, Node, y V8. Aunque tenemos cuidado de no hacer promesas sobre las fechas de lanzamiento, nuestro plan es lanzar versiones nuevas importantes de Electron con versiones nuevas de esos componentes aproximadamente cada trimestre. El calendario tentativo 8.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 8. Además, consulta nuestro documento de versionado para obtener información más detallada sobre el versionado en Electron.

Para obtener información sobre los cambios de ruptura previstos en las próximas versiones de Electron, consulte nuestro documento de Cambios Planificados de Ruptura.

Electron 6.0.0

· 6 lectura mínima

El equipo de Electron esta emocionado de anunciar el lanzamiento de Electron 6.0.0! You can install it with npm via npm install electron@latest or download it from our releases website. La versión está empaquetada con versiones nuevas, correcciones y características nuevas. ¡No podemos esperar a ver lo que construyes con ellos! ¡Sigue leyendo para obtener más detalles sobre esta versión, y por favor comparte tus comentarios!


¿Qué hay de nuevo?

Hoy marca una primera para el proyecto Electron: esta es la primera vez que hemos hecho un lanzamiento estable de Electron el mismo día que el correspondiente Chrome estable! 🎉

Gran parte de la funcionalidad de Electron es proporcionada por los componentes principales de Chromium, Node.js y V8. Electron se mantiene actualizado con estos proyectos para proporcionar a nuestros usuarios características nuevas de JavaScript, mejoras de rendimiento y correcciones de seguridad. Cada uno de estos paquetes tiene una versión mayor en Electron 6:

Esta versión también incluye mejoras en las API de Electron. Las notas de lanzamiento tienen una lista más completa, pero aquí están los resaltados:

Promisificación

Electron 6.0 continúa la modernización iniciativa iniciada en 5.0 para mejorar Promise apoyo.

Estas funciones ahora devuelven Promesas y todavía soportan invocaciones antiguas basadas en retro-llamadas:

  • contentTracing.getCategories() #16583
  • contentTracing.getCategories() #16583
  • contentTracing.getTraceBufferUsage() #16600
  • contents.executeJavaScript() #17312
  • cookies.flushStore() #16464
  • cookies.get() #16464
  • cookies.remove() #16464
  • cookies.set() #16464
  • dialog.showCertificateTrustDialog() #17181
  • inAppPurchase.getProducts() #17355
  • inAppPurchase.purchaseProduct()#17355
  • netLog.stopLogging() #16862
  • session.clearAuthCache() #17259
  • session.clearCache() #17185
  • session.clearHostResolverCache() #17229
  • session.clearStorageData() #17249
  • session.getBlobData() #17303
  • session.getCacheSize() #17185
  • session.resolveProxy() #17222
  • session.setProxy() #17222
  • webContents.hasServiceWorker() #16535
  • webContents.printToPDF() #16795
  • webContents.savePage() #16742
  • webFrame.executeJavaScript() #17312
  • webFrame.executeJavaScriptInIsolatedWorld() #17312
  • webviewTag.executeJavaScript() #17312

Estas funciones ahora tienen dos formas, sincrónicas y asíncronas basadas en promesa:

  • dialog.showMessageBox()/dialog.showMessageBoxSync() #17298
  • dialog.showOpenDialog()/dialog.showOpenDialogSync() #16973
  • dialog.showSaveDialog()/dialog.showSaveDialogSync() #17054

Estas funciones ahora solo devuelven Promises:

Electron Helper (Renderer).app, Electron Helper (GPU).app y Electron Helper (Plugin).app

Para habilitar el tiempo de ejecución endurecido, el cual restringe cosas como memoria ejecutable de escritura y carga código firmado por un ID de equipo diferente, es necesario conceder al Ayudante derechos especiales de firma de código.

Mantener estos derechos a los tipos de proceso que los requieran, Chromium agregó tres nuevas variantes de la aplicación Helper: una para renderizadores (Electron Helper (Renderer).app), uno para el proceso GPU (Electron Helper (GPU).app) y otro para plugins (Electron Helper (Plugin).app).

La gente que usa electron-osx-sign para codiseñar su aplicación Electron no debería tener que hacer ningún cambio en su lógica de compilación. Si estás codiseñando tu aplicación con scripts personalizados, debes asegurarte de que las tres aplicaciones nuevas de Helper están correctamente codiseñadas.

Para empaquetar tu aplicación correctamente con estos ayudantes nuevos, necesitas usar electron-packager@14.0.4 o superior. Si estás usando electron-builder, deberías seguir este asunto para seguir la asistencia de estos ayudantes nuevos.

Restaurar archivos borrados

  • Esta versión comienza a sentar las bases para un futuro requisito de que los módulos nativos de Node cargados en el proceso de renderizador sean N-API o Conciente del Contexto. Las razones de este cambio son un rendimiento más rápido, una seguridad más fuerte, y una carga de trabajo de mantenimiento menor. Lea todos los detalles incluyendo la línea temporal propuesta en este asunto. Se espera que este cambio se complete en Electron v11.

  • Las cabeceras net.IncomingMessage han cambiado ligeramente para coincidir más estrechamente con el comportamiento de Node.js, particularmente con el valor de set-cookie y como son manejadas las cabeceras duplicadas. #17517.

  • Ahora shell.showItemInFolder() devuelve vacío y es una invocación asincrónica. #17121

  • Las aplicaciones ahora deben establecer explícitamente una ruta de registro invocando a la función app.setAppLogPath() nueva antes de emplear app.getPath('log'). #17841

Fin de soporte para 3.x.y

Por nuestra directiva de asistencia, 3.x.y ha llegado al fin de la vida. Se anima a los desarrolladores y aplicaciones a actualizar a una versión de Electron nueva.

Programa de retroalimentación

Continuamos usando nuestro Programa de Comentarios de para pruebas. Los proyectos quienes participan en este programa de pruebas de las betas de Electron en sus aplicaciones; y a cambio, los defectos nuevos que encuentran están priorizados para la versión estable. Si quieres participar o aprender más, revisa nuestra publicación de nuestro blog sobre el programa.

¿Y ahora, qué?

A corto plazo puedes esperar que el equipo continúe enfocándose en mantener al día con el desarrollo de los principales componentes que componen Electron, incluyendo Chromium, Node, y V8. Aunque tenemos cuidado de no hacer promesas sobre las fechas de lanzamiento, nuestro plan es lanzar versiones nuevas importantes de Electron con versiones nuevas de esos componentes aproximadamente cada trimestre. El calendario tentativo 7.0.0 traza fechas claves en el ciclo de vida del desarrollo de Electron 7. Además, consulta nuestro documento de versionado para obtener información más detallada sobre el versionado en Electron.

Para obtener información sobre los cambios de ruptura previstos en las próximas versiones de Electron, consulte nuestro documento de Cambios Planificados de Ruptura.

Nueva cadencia de liberación de Electron

· 4 lectura mínima
⚡ Actualización (2021-07-14): ¡Vamos aún más rápido!

En Q3 2021, el equipo de Chrome aumentó su cadencia de lanzamiento de cada 6 semanas a cada 4 semanas. Los lanzamientos de Electron han seguido el mismo camino. ¡Por favor, lea la entrada del blog de cada 8 semanas para obtener información más actualizada!

🎉 ¡Electron se está trabajando para lanzar una nueva versión estable cada 12 semanas! 🎉


⚡️ ¡Guau eso es rápido! Pero ¿por qué?

En pocas palabras, Chromium no detiene el lanzamiento por lo que Electron tampoco va a desacelerar.

Chromium lanza una version programada cada 6 semanas. Para entregar las versiones más actualizadas de Chromium en Electron, nuestro programa necesita seguir el suyo. Puede encontrar más información sobre el ciclo de lanzamiento de Chromium aquí.

🚀 ¿Por qué cada 12 semanas?

Cada 6 semanas, una nueva versión de Chromium viene con nuevas características, correcciones de errores / correcciones de seguridad y mejoras de V8. Los usuarios de Electron han sido fuerte y claros acerca de querer estos cambios de una manera oportuna, así que hemos ajustados nuestra fechas de lanzamientos estables para coincidir con los lanzamientos estables de Chromium. Primero, Electron v6.0.0 incluirá M76 y la fecha de publicación de la versión estable es 30 de Julio 30, 2019, el mismo día de lanzamiento que Chromium M76.

🚧 Qué significa esto para mi y mi aplicación Electron?

Tendrás acceso a nuevas características y correcciones de Chromium y V8 más temprano que antes. Importantemente, además sabrás cuando se acercan esos cambios, así que serás capaz de planificar con mejor información que antes.

El equipo de Electron continuará soportando las últimas tres versiones mayores. Por ejemplo, cuando v6.0.0 sea estable el 30 de Julio, 2019, soportaremos v6.x, v5.x, y v4.x, mientras que la v3.x alcanzará el final de su vida.

💬 Programa de retroalimentación

Por favor considere unirse a nuestro Programa de comentarios sobre la aplicación para ayudarnos con nuestros lanzamientos beta y estabilizaciones. Los proyectos quienes participan en este programa de pruebas de las betas de Electron en sus aplicaciones; y a cambio, los defectos nuevos que encuentran están priorizados para la versión estable.

📝 Una breve historia de los lanzamientos de Electron

Las decisiones acerca de las versiones estables antes de la v3.0.0 no seguían un agenda. Añadimos programas internos al proyecto con v3.0.0 y v4.0.0. A principios de este año, decidimos publicar nuestra fecha de lanzamiento estable por primera vez para Electron v5.0.0. Anunciar fechas de lanzamiento estables fue recibido positivamente en general y estamos encantados de seguir haciéndolo para futuras versiones.

Para optimizar mejor estos esfuerzos relacionados con la actualización, nuestros grupos de trabajos Upgrades y Releases fueron creados dentro de nuestro Governance. Ellos nos han permitido priorizar y delegar mejor este trabajo, el cual esperamos que se haga más evidente con la lanzamiento posterior.

Aquí es donde nuestra nueva cadencia nos colocará en comparación con la cadencia de Chromium:

gráfica de línea que compara Electron versus Chromium

📨 Si tienes alguna pregunta, por favor envíanos un correo electrónico a info@electronjs.org.