Aller au contenu principal

21 articles tagués avec "Project News"

Important announcements about the Electron project

Voir tous les tags

Electron becomes an OpenJS Foundation Impact Project

· Une min de lecture

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.

Prochaines versions d'Electron

· Une min de lecture

Electron suspend temporairement les versions majeures


Que se passe-t-il ?

Our major release cadence schedule moves in lockstep with that of Chromium, and the Chromium project has made the recent decision to pause its releases due to adjusted work schedules. This means that for the duration of Chromium's altered cadence, Electron will also temporarily pause new major releases.

We feel that our best choice is to follow in Chromium's footsteps, and so in the interim the Electron team will shift to full-time work on bugfixes, security, performance, and stability.

We want to ensure that both our maintainers and our consumers' wellbeing is prioritized during this time, so we welcome your feedback and look forward to returning to our regular release schedule.

For more updates, please follow our Twitter account.

Edit (2020-03-30): Electron 9 stable will target Chromium M83 and be released on May 19, 2020, in response to Chromium's announcement of skipping the M82 stable date and adjusting the M83 stable date.

Electron joins the OpenJS Foundation

· 2 mins de lecture

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.

Nouvelle Cadence de Sortie Electron

· 3 mins de lecture
⚡ Update (2021-07-14): Nous allons encore plus vite !

Au troisième trimestre 2021, l'équipe Chrome a augmenté sa cadence de publication de passant ainsi de 6 semaines à toutes les 4 semaines. Les versions d'Electron ont fait de même. Veuillez lire l'article miseà jour au sujet de la cadence de 8 semaines article de blog pour plus d’informations récentes!

🎉 Electron sort une nouvelle version stable majeure toutes les 12 semaines ! 🎉


⚡ Wow c'est rapide ! Mais pourquoi?

En termes simples, Chromium n’arrête pas de livrer des nouvelles versions, donc Electron ne va pas ralentir non plus.

Sorties de Chromium sur un calendrier cohérent de 6 semaines. To deliver the most up-to-date versions of Chromium in Electron, our schedule needs to track theirs. More information around Chromium's release cycle can be found here.

🚀 Pourquoi toutes les 12 semaines?

Toutes les 6 semaines, une nouvelle version de Chromium est déployée avec de nouvelles fonctionnalités, des corrections de bugs / des correctifs de sécurité et des améliorations de V8. Les utilisateurs d'Electron ont été très insistants et très clairs sur le souhait que ces changements soient effectués dans les plus brefs délais. Nous avons donc adaptés nos dates de publications à celles de Chromium. En premier lieu, la v6.0.0 d'Electron inclura M76 et la version stable est prévue pour le 30 juillet 2019, le même jour que celle de Chromium M76.

🚧 Qu'est-ce que cela signifie pour moi et mon application Electron ?

Vous aurez accès aux nouvelles fonctionnalités et correctifs de Chromium et V8 plus tôt qu'auparavant. Il est important de noter que vous serez également avertis lorsque ces nouveaux changements arriveront, de sorte que vous serez en mesure de planifier avec de meilleures informations qu’auparavant.

L'équipe d'Electron continuera à supporter les trois dernières versions majeures. Par exemple, lorsque v6.0.0 sera stable le 30 juillet 2019, nous prendrons en charge v6.x, v5.x et v4.x, tandis que v3.x atteindra sa fin de vie.

💬 Programme de feedback

Ce serait bien d'envisager de rejoindre notre App Feedback Program pour nous aider à tester nos versions bêta et notre stabilisation. Les projets qui participent à ce programme testent les bétas d'Electron sur leurs applications ; et en retour, les nouveaux bogues qu'ils trouvent sont priorisés pour la version stable.

📝 Un bref historique des versions d'Electron

Les décisions concernant les versions stables avant la version 3.0.0 n’ont pas suivi de calendrier. Nous avons ajouté des calendriers internes au projet avec v3.0.0 et v4.0.0. En début d'année, nous avons décidé de publier pour la première fois la date de version stable Electron v5.0.0. L'annonce de nos dates de publication stable a été bien reçue et nous sommes heureux de continuer à le faire pour les prochaines versions.

Afin de mieux rationaliser ces efforts liés aux mises à niveau, nos groupes de travail Upgrades et Releases ont été créés au sein de notre système Governance. Ils nous ont permis de mieux hiérarchiser et déléguer ce travail, ce qui, nous l'espérons, deviendra plus évident avec chaque version ultérieure.

Voici où notre nouvelle cadence nous placera par rapport à celle de Chromium :

line graph comparing Electron versus Chromium versions

📨 Si vous avez des questions, veuillez nous écrire à info@electronjs.org.

Gouvernance Electron

· 3 mins de lecture

À mesure qu'Electron gagne en popularité pour les applications de bureau, l'équipe qui y travaille s'est également étoffée : nous avons plus de responsables à temps plein travaillant pour différentes sociétés, vivant dans différents fuseaux horaires, et ayant des intérêts différents. Nous introduisons donc une structure de gouvernance afin de pouvoir continuer à croître en douceur.


Pourquoi les choses changent-elles ?

Les gens du projet Electron se coordonnent en vivant dans des fuseaux horaires du monde entier avec des volontaires, des responsables à temps plein et avec plusieurs entreprises qui dépendent toutes d'Electron. Jusqu'à présent, nous avons réussi sans une coordination formelle ; mais au fur et à mesure du développement de l'équipe, nous avons constaté que l'approche n'était pas évolutive. Nous voulons également faciliter la tâche des nouveaux contributeurs pour qu'ils se sentent bien en intégrant le projet.

Groupes de travail

La gouvernance d'Electron comprend des groupes de travail responsables des différentes parties du projet. Nous commençons avec sept groupes :

  • Communauté & Sécurité : gère le Code de conduite.
  • Docs & Outils : supervise les outils externes (par exemple Fiddle, Forge) et la documentation d'Electron .
  • Vulgarisation: Participe à l'aggrandissement de la communauté Electron.
  • Versions : Permet de s'assurer que les versions sont stables et dans les délais.
  • Sécurité : Effectue des tests de sécurité et répond aux problèmes de sécurité.
  • Mises à jour : intègre les mises à jour en amont telles que les nouvelles versions de V8, Chromium et Node.
  • Site Web: Maintient et améliore le site Web d'Electron.

Ces groupes se coordonnent entre eux, cependant chacun d'entre eux a ses propres calendriers et agendas à des fins de productivité. Plus de détails sur ces groupes sont disponibles sur le dépôt de gouvernance.

Est ce que cela modifie la direction du projet Electron ?

Cela ne devrait pas avoir d'effet direct sur la direction d'Electron. Si notre stratégie est couronnée de succès, les groupes de travail permettront aux nouveaux contributeurs de trouver plus facilement des sujets qui les intéressent, et ainsi faciliter la vie des responsables en déplaçant toute discussion sans rapport avec leur travail quotidien vers d'autres groupes. Si tout se passe bien, cela impliquera davantage de personnes non bloquées pouvant travailler ensemble.

Où puis-je en apprendre davantage ?

Discontinuing support for 32-bit Linux

· 3 mins de lecture

L'équipe d'Electron cessera de prendre en charge Linux 32 bits (ia32 / i386) à partir d'Electron v4.0. La dernière version d'Electron qui prend en charge les installations basées sur 32 bits de Linux est Electron v3.1, qui recevra des versions de support jusqu'à la sortie d'Electron v6. Support for 64-bit based Linux and armv7l will continue unchanged.


What exactly is Electron no longer supporting?

You may have seen the description "64-bit" and "32-bit" as stickers on your computer or as options for downloading software. The term is used to describe a specific computer architecture. Most computers made in the 1990s and early 2000s were made with CPUs that were based on the 32-bit architecture, while most computers made later were based on the newer and more powerful 64-bit architecture. The Nintendo 64 (get it?) and the PlayStation 2 were the first widely available consumer devices with the new architecture, computers sold after 2010 contained almost exclusively 64-bit processors. As a result, support has been shrinking: Google stopped releasing Chrome for 32-bit Linux in March 2016, Canonical stopped providing 32-bit desktop images in 2017 and dropped support for 32-bit altogether with Ubuntu 18.10. Arch Linux, elementary OS, and other prominent Linux distributions have already dropped support for the aging processor architecture.

Until now, Electron has provided and supported builds that run on the older 32-bit architecture. From release v4.0 onwards, the Electron team will no longer be able to provide binaries or support for 32-bit Linux.

Electron has always been a vibrant open source project and we continue to support and encourage developers interested in building Electron for exotic architectures.

What does that mean for developers?

If you are not currently providing 32-bit distributions of your app for Linux, no action is required.

Projects which ship 32-bit Linux Electron applications will need to decide how to proceed. 32-bit Linux will be supported on Electron 3 until the release of Electron 6, which gives some time to make decisions and plans.

What does that mean for users?

If you are a Linux user and not sure whether or not you're running a 64-bit based system, you are likely running on a 64-bit based architecture. To make sure, you can run the lscpu or uname -m commands in your terminal. Either one will print your current architecture.

If you are using Linux on a 32-bit processor, you have likely already encountered difficulties finding recently released software for your operating system. The Electron team joins other prominent members in the Linux community by recommending that you upgrade to a 64-bit based architecture.

Node.js Native Addons and Electron 5.0

· 2 mins de lecture

If you're having trouble using a native Node.js addon with Electron 5.0, there's a chance it needs to be updated to work with the most recent version of V8.


Goodbye v8::Handle, Hello v8::Local

In 2014, the V8 team deprecated v8::Handle in favor of v8::Local for local handles. Electron 5.0 includes a version of V8 that has finally removed v8::Handle for good, and native Node.js addons that still use it will need to be updated before they can be used with Electron 5.0.

The required code change is minimal, but every native Node module that still uses v8::Handle will fail to build with Electron 5.0 and will need to be modified. The good news is that Node.js v12 will also include this V8 change, so any modules that use v8::Handle will need to be updated anyway to work with the upcoming version of Node.

I maintain a native addon, how can I help?

If you maintain a native addon for Node.js, ensure you replace all occurrences of v8::Handle with v8::Local. The former was just an alias of the latter, so no other changes need to be made to address this specific issue.

You may also be interested in looking into N-API, which is maintained separately from V8 as a part of Node.js itself, and aims to insulate native addons from changes in the underlying JavaScript engine. You can find more information in the N-API documentation on the Node.js website.

Help! I use a native addon in my app and it won't work!

If you're consuming a native addon for Node.js in your app and the native addon will not build because of this issue, check with the author of the addon to see if they've released a new version that fixes the problem. If not, reaching out to the author (or opening a Pull Request!) is probably your best bet.

Using GN to Build Electron

· 2 mins de lecture

Electron now uses GN to build itself. Here's a discussion of why.


GYP and GN

Lorsque Electron a été publié pour la première fois en 2013, la configuration de construction de Chromium a été écrite avec GYP, abréviation de « Générer vos projets ».

En 2014, le projet Chromium a introduit un nouvel outil de configuration de compilation appelé GN (abréviation de "Générer Ninja") les fichiers de compilation de Chromium ont été migrés vers GN et GYP a été retiré du code source.

Electron a historiquement maintenu une séparation entre le code principal Electron et le libchromiumcontent, la partie d'Electron qui contient le sous-module 'content' de Chromium. Electron has carried on using GYP, while libchromiumcontent -- as a subset of Chromium -- switched to GN when Chromium did.

Like gears that don't quite mesh, there was friction between using the two build systems. Maintaining compatibility was error-prone, from compiler flags and #defines that needed to be meticulously kept in sync between Chromium, Node, V8, and Electron.

To address this, the Electron team has been working on moving everything to GN. Today, the commit to remove the last of the GYP code from Electron was landed in master.

What this means for you

If you're contributing to Electron itself, the process of checking out and building Electron from master or 4.0.0 is very different than it was in 3.0.0 and earlier. See the GN build instructions for details.

If you're developing an app with Electron, there are a few minor changes you might notice in the new Electron 4.0.0-nightly; but more than likely, Electron's change in build system will be totally transparent to you.

What this means for Electron

GN is faster than GYP and its files are more readable and maintainable. Moreover, we hope that using a single build configuration system will reduce the work required to upgrade Electron to new versions of Chromium.

  • It's already helped development on Electron 4.0.0 substantially because Chromium 67 removed support for MSVC and switched to building with Clang on Windows. With the GN build, we inherit all the compiler commands from Chromium directly, so we got the Clang build on Windows for free!

  • It's also made it easier for Electron to use BoringSSL in a unified build across Electron, Chromium, and Node -- something that was problematic before.

Certificate Transparency Fix

· 2 mins de lecture

Electron 1.4. 2 contient une mise à jour importante qui corrige un problème de Chrome amont où certains Symantec, GeoTrust, et les certificats Thawte SSL/TLS sont incorrectement rejetés 10 semaines à partir de la date de construction de libchromiumcontent, la bibliothèque Chrome sous-jacente d'Electron. There are no issues with the certificates used on the affected sites and replacing these certificates will not help.


In Electron 1.4.0 — 1.4.11 HTTPS requests to sites using these affected certificates will fail with network errors after a certain date. This affects HTTPS requests made using Chrome's underlying networking APIs such as window.fetch, Ajax requests, Electron's net API, BrowserWindow.loadURL, webContents.loadURL, the src attribute on a <webview> tag, and others.

Upgrading your applications to 1.4.12 will prevent these request failures from occurring.

Note: This issue was introduced in Chrome 53 so Electron versions earlier than 1.4.0 are not affected.

Impact Dates

Below is a table of each Electron 1.4 version and the date when requests to sites using these affected certificates will start to fail.

Electron VersionImpact Date
1.3.xUnaffected
1.4.0Already failing
1.4.1Already failing
1.4.2Already failing
1.4.3December 10th, 2016 9:00 PM PST
1.4.4December 10th, 2016 9:00 PM PST
1.4.5December 10th, 2016 9:00 PM PST
1.4.6January 14th, 2017 9:00 PM PST
1.4.7January 14th, 2017 9:00 PM PST
1.4.8January 14th, 2017 9:00 PM PST
1.4.9January 14th, 2017 9:00 PM PST
1.4.10January 14th, 2017 9:00 PM PST
1.4.11February 11th, 2017 9:00 PM PST
1.4.12Unaffected

You can verify your app's impact date by setting your computer's clock ahead and then check to see if https://symbeta.symantec.com/welcome/ successfully loads from it.

More Information

You can read more about this topic, the original issue, and the fix at the following places:

npm install electron

· 3 mins de lecture

Depuis la version 1.3.1 d'Electron, vous pouvez utiliser npm install electron --save-dev pour installer la dernière version précompilée d'Electron dans votre application.


npm install electron

Le binaire Electron précompilé

Si vous avez déjà travaillé sur une application Electron, vous avez probablement rencontré le paquet npm de electron-prebuilt. Ce paquet est une partie indispensable de presque tous les projets Electron. Une fois installé, il détecte votre système d'exploitation et télécharge un binaire précompilé qui est compilé pour fonctionner sur l'architecture de votre système.

Le nouveau nom

Le processus d'installation d'Electron était souvent une pierre d'achoppement pour les nouveaux développeurs. Beaucoup de braves gens ont essayé de commencer à développer un Electron par application en exécutant npm install electron au lieu de npm install electron-prebuilt, seulement pour découvrir (souvent après beaucoup de confusion) que ce n'était pas les electron qu'ils recherchaient.

C'était parce qu'il y avait un projet electron existant sur npm, créé avant le projet Electron de GitHub. Pour aider à rendre le développement d'Electron plus facile et plus intuitif pour les nouveaux développeurs, nous avons contacté le propriétaire du paquet npm existant electron pour lui demander s'il accepterait de nous laisser utiliser le nom. Heureusement, il a été fan de notre projet et a accepté de nous aider à réutiliser le nom.

Vues préconstruites sur

Depuis la version 1.3.1, nous avons commencé à publier les paquets electron et electron-prebuilt sur npm en tandem. Les deux paquets sont identiques. Nous avons choisi de continuer à publier le paquet sous les deux noms pendant un certain temps afin de ne pas gêner les milliers de développeurs qui utilisent actuellement electron-prebuilt dans leurs projets. Nous vous recommandons de mettre à jour vos fichiers package.json pour utiliser la nouvelle dépendance d'electron, mais nous continuerons à publier de nouvelles versions de electron-prebuilt jusqu'à la fin de 2016.

Le dépôt electron-userland/electron-prebuilt restera la maison canonique du paquet npm electron.

Merci beaucoup

Nous devons un merci spécial à @mafintosh, @maxogden, et beaucoup d'autres contributeurs pour la création et la maintenance de electron-prebuilt, et pour leur service infatigable au JavaScript, Node.js, et communautés Electron.

Et merci à @logicalparadox de nous avoir permis à de prendre le paquet electron sur npm.

Mise à jour de vos projets

Nous avons travaillé avec la communauté pour mettre à jour les paquets populaires qui sont affectés par ce changement. Les paquets comme electron-packager, electron-rebuild, et electron-builder ont déjà été mis à jour pour fonctionner avec le nouveau nom tout en continuant à supporter l'ancien nom.

Si vous rencontrez des problèmes pour installer ce nouveau paquet, veuillez nous le faire savoir en ouvrant une issue sur le dépôt electron-userland/electron-prebuilt.

Pour tout autre problème avec Electron, veuillez utiliser le dépôt electron/electron.