Aller au contenu principal

WebView2 et Electron

· 7 mins de lecture

Au cours des dernières semaines, nous avons reçu plusieurs questions sur les différences entre la nouvelle WebView2 et Electron.

Les deux équipes ont pour but de transposer la technologie du web pour les application de Bureau de la meilleure façon possible et une comparaison faite en commun est en cours de discussion.

Electron et WebView2 sont des projets en évolution rapide et constante. Nous avons rassemblé un bref aperçu des similitudes et des différences entre Electron et WebView2 telles qu’elles existent aujourd’hui.


Vue d’ensemble de l’architecture

Electron et WebView2 sont tous deux issus des source de Chromium pour le rendu du contenu Web. À proprement parler, WebView2 est généré à partir des sources de Edge, mais Edge est construit à l’aide d’un fork de Chromium. Electron ne partage aucune DLL avec Chrome. Les fichiers binaires WebView2 sont liés fortement à Edge (canal stable à compter d’Edge 90), et partagent certains éléments. Voir le mode de distribution Evergreen pour plus d'informations.

Les applications Electron regroupent et distribuent toujours la version exacte d’Electron avec laquelle elles ont été développées. WebView2 a deux options pour la distribution. Vous pouvez soit empaqueter la même bibliothèque WebView2 utilisée pour le développement de votre application, soit utiliser une version partagée du runtime pouvant être déjà présente sur le système. WebView2 fournit des outils pour chaque approche, y compris un programme d’installation d’amorçage au cas où le runtime partagé serait manquant. WebView2 est inclus dans Windows 11.

Les applications qui incluent des frameworks sont responsables de leur mise à jour et ce même pour les versions mineures de sécurité. Pour les applications utilisant le runtime partagé WebView2, WebView2 possède son propre programme de mise à jour, similaire à Chrome ou Edge, qui s’exécute indépendamment de votre application. La mise à jour du code de l’application ou de l’une de ses dépendances est toujours une responsabilité du développeur, comme avec Electron. Electron et WebView2 ne sont pas gérés par Windows Update.

Electron et WebView2 héritent tous deux de l’architecture multi-processus de Chromium - à savoir, un processus principal unique qui communique avec un ou plusieurs processus de rendu. Ces processus sont entièrement séparés des autres applications exécutées sur le système. Chaque application Electron est une arborescence de processus séparée qui contient un processus de navigation racine, des processus utilitaires et éventuellement d'autres processus de rendu. Les applications WebView2 qui utilisent le même dossier de données utilisateur (comme le ferait une suite d’applications), partagent les processus qui ne concernent pas le rendu. Les applications WebView2 utilisant différents dossiers de données ne partagent pas de processus.

  • Modèle des processus d'Electron:

    Modèle des processus d'Electron

  • Modèle de processus des applications basées sur WebView2 :

    Schéma du modèle du processus WebView2

Pour en savoir plus sur le modèle de processus de WebView2, et sur le modèle de processus d' Electron, cliquez ici.

Electron fournit des API pour les besoins courants des applications de bureau telles que les menus, l'accès au système de fichiers, les notifications et plus encore. WebView2 est un composant destiné à être intégré dans un framework d'application tel que WinForms, WPF, WinUI ou Win32. WebView2 ne fournit pas d'API vers le système d'exploitation en dehors de la norme web via JavaScript.

Node.js est intégré dans Electron. Les applications Electron peuvent utiliser n'importe quelle API Node.js, module ou node-native-addon depuis le moteur de rendu et les processus principaux. Une application WebView2 ne suppose pas dans quel langage ou infrastructure le reste de votre application est écrit. Votre code JavaScript doit transmettre par proxy tout accès au système d’exploitation via le processus application-hôte.

Electron s'efforce de maintenir la compatibilité avec l'API web, y compris les API développées à partir du Projet Fugu. Nous avons un aperçu de la compatibilité de l’API Fugu d’Electron. WebView2 maintient une liste similaire de différences d'API par rapport à Edge.

Electron a un modèle de sécurité configurable pour le contenu web, qui va de l'accès complet au bac à sable. Le contenu WebView2 est toujours en bac à sable. Electron a une documentation de sécurité complète sur le choix de votre modèle de sécurité. WebView2 dispose également des : bonnes pratiques de sécurité.

Les sources d'Electron sont maintenues et disponibles sur GitHub. Les applications peuvent modifier et leurs propres version d'Electron. Les sources de WebView2 ne sont pas disponibles sur GitHub.

Résumé rapide:

ElectronWebView2
Installation des dépendancesChromiumEdge
Source disponible sur GitHubOuiNon
Partage des DLL Edge/ChromeNonOui (à compter de Edge 90)
Runtime partagé entre applicationsNonFacultatif
API d’applicationOuiNon
Node.jsOuiNon
Mode bac à sableFacultatifToujours
Nécessite un Framework d'applicationNonOui
Plateformes supportéesMac, Win, LinuxWin (Mac/Linux prévu)
Partage de processus entre applicationsJamaisFacultatif
Mises à jour du framework gérées parApplicationWebView2

Discussion sur les performances

En ce qui concerne le rendu de votre contenu web, nous nous attendons à peu de différence de performance entre Electron, WebView2 et tout autre moteur de rendu basé sur Chromium. Nous avons créé ossatures d'applications construites à l'aide d'Electron, C++ + WebView2, et C# + WebView2 pour les personnes intéressées à étudier les différences potentielles de performance.

Il y a quelques différences qui entrent en jeu en dehors du rendu de contenu web, et les gens d'Electron, WebView2, Edge, et d'autres personnes ont exprimé leur intérêt à travailler sur une comparaison détaillée, y compris les PWAs.

La communication inter-processus(IPC)

Nous voulons mettre en évidence immédiatement une différence , car nous pensons qu'il s'agit souvent d'une considération de performance dans les applications Electron.

Dans Chromium, le processus du navigateur agit comme un courtier d'IPC entre les moteurs de rendu en bac à sable et le reste du système. Tandis qu'Electron autorise les processus de rendu sans bac à sable (sandbox), de nombreuses applications choisissent d'activer le sandbox pour plus de sécurité. WebView2 a toujours le sandbox activé, donc pour la plupart des applications Electron et WebView2 les IPC peuvent affecter les performances globales.

Même si Electron et WebView2 ont des modèles de processus similaires, les IPC sous-jacents diffèrent. La communication entre JavaScript et C++ ou C# nécessite du marshalling, le plus souvent vers une chaîne JSON. La sérialisation/parsing JSON est une opération coûteuse, et les goulots d’étranglement IPC peuvent avoir un impact négatif sur les performances. À partir de Edge 93, WV2 utilisera CBOR pour les événements du réseau.

Electron prend en charge les IPC directement entre deux processus via l'API MessagePorts , qui utilise l'algorithme de clonage structuré. Les applications qui tirent parti de cela peuvent éviter de payer le tribut de la sérialisation JSON lors de l'envoi d'objets entre processus.

Récapitulatif

Electron et WebView2 ont un certain nombre de différences, mais ne vous attendez pas à une grande différence par rapport à la façon dont ils effectuent le rendu du contenu web. En définitive, l'architecture d'une application et ses bibliothèques/ frameworks JavaScript ont un impact plus important sur la mémoire et les performances que tout autre chose car de toute façon Chromium est Chromium peu importe où il fonctionne.

Remerciements spéciaux à l'équipe WebView2 pour avoir examiné ce post, et s'assurer que nous avons une vue actualisée de l'architecture WebView2. Ils seront heureux de recevoir tout commentaire sur le projet.

Nouvelle Cadence de Sortie Electron

· 7 mins de lecture

À partir de Septembre 2021, Electron publiera une nouvelle version majeure et stable toutes les 8 semaines.


En 2019, Electron est passé à un cycle d'une publication toute les 12 semaines pour correspondre au cycle de publication de 6 semaines de Chromium. Récemment, Chrome et Microsoft ont annoncé des changements qui nous ont fait reconsidérer la cadence actuelle des versions d'Electron:

  1. Chromium prévoit de publier une release toutes les 4 semaines et ce à partir de Chrome 94 le 21 septembre 2021. Cette cadence de version ajoute également une nouvelle option Extended Stable toutes les 8 semaines, qui contiendra toutes les corrections de sécurité mises à jour.

  2. Le Microsoft Store nécessitera que les applications basées sur Chrome ne soient pas plus anciennes que de 2 versions majeures. Par exemple, si la dernière version majeure de Chromium est 85, tout navigateur basé sur Chromium doit être au moins sur Chromium version 83 ou supérieure. Cette règle inclut les applications Electron.

À partir de septembre 2021, Electron sortira une nouvelle version stable majeure toutes les 8 semaines, pour correspondre aux 8 semaines des versions stables de Chromium.

Notre première version avec Chromium Extended Stable sera Electron 15 le 21 septembre 2021.

Sachant que le changement de cadence de publication aura un impact sur d'autres applications en aval, nous voulions le faire savoir à notre communauté de développeurs le plus tôt possible. Pour en savoir plus, voyez notre calendrier de publication 2021.

Electron 15: Alpha Temporaire

Étant donné que notre version initiale d'Electron 15 ciblait une version non stable étendue (les versions stables étendues de Chromium sont basées sur leurs versions paires), nous avons dû modifier notre date de sortie initiale. Cependant, une application Electron doit utiliser les 2 dernières versions majeures de Chromium pour être acceptée dans le Microsoft Store, ce qui rendait intenable l'attente de deux versions de Chromium.

Avec ces deux exigences, notre équipe s'est retrouvée confrontée à un dilemme en termes de timing. Le passage d'Electron 15 à Chromium M94 permettrait aux développeurs d'applications d'accéder à la toute première version stable étendue de Chromium, mais cela réduirait également le cycle entre la version bêta et la version stable à seulement 3 semaines.

Pour faciliter cette transition, Electron proposera une version alpha temporaire, uniquement pour la version Electron 15. Cette version alpha permettra aux développeurs de disposer de plus de temps pour tester et planifier la sortie d'Electron 15, avec une version plus stable que nos versions nocturnes actuelles.

La version alpha sera disponible pour Electron 15 le 20 juillet 2021. Il passera en version bêta le 1er septembre 2021, avec une version stable prévue pour le 21 septembre 2021. Les versions ultérieures d'Electron ne feront pas l'objet de versions alpha.

Plan de diffusion pour 2021

Voici notre calendrier de publication pour 2021 :

ElectronChromeVersions alphaVersions bêtaVersion stableCycle stable (n° de semaine)
E13M91-05-Mars-202125-Mai-202112
E14M93-26-Mai-202131-Août-202114
E15M9420-Juil-202101-Sept-202121-Sept-20219 (comprend la version alpha)
E16M96-22-Sept-202116-Nov-20218
E17M98-17-Nov-202101-Fev-202211

L'ajout du canal alpha prolonge le temps de développement avant le lancement d'Electron 15 de 3 à 9 semaines, ce qui se rapproche davantage de notre nouveau cycle de 8 semaines, tout en répondant aux exigences de soumission au Windows Store.

Afin d'aider davantage les développeurs d'applications, pour le reste de l'année 2021 et jusqu'en mai 2022, nous étendrons également notre politique de versions prises en charge des 3 dernières versions aux 4 dernières versions d'Electron. Cela signifie que même si vous ne pouvez pas modifier immédiatement votre calendrier de mise à niveau, les anciennes versions d'Electron continueront de bénéficier des mises à jour de sécurité et des correctifs.

Tenir compte des préoccupations

Il y a une raison pour laquelle nous publions ce post bien avant que ce changement de cycle de publication ne soit prévu. Nous savons qu’un cycle de sortie plus rapide aura un impact réel sur les applications Electron - et certaines peuvent déjà amener à considérer notre cadence de sortie majeure agressive.

Nous avons tenté de répondre aux préoccupations communes ci-dessous :

❓ Pourquoi même faire ce changement ? Pourquoi ne pas garder la cadence de la sortie de 12 semaines ?

Pour fournir les versions les plus récentes de Chromium dans Electron, notre calendrier doit suivre le leur. Pour plus d'informations sur le cycle de publication de Chromium, rendez-vous ici.

De plus, le rythme actuel de publication toutes les 12 semaines serait intenable avec les nouvelles exigences de soumission du Microsoft Store. Même les applications utilisant la dernière version stable d'Electron pourraient être rejetées pendant environ deux semaines en raison des nouvelles exigences de sécurité.

Chaque nouvelle version de Chromium contient de nouvelles fonctionnalités, des corrections de bogues/de sécurité et des améliorations V8. Nous souhaitons que vous, en tant que développeurs d'applications, puissiez bénéficier de ces modifications en temps opportun. C'est pourquoi nos dates de publication des versions stables continueront de correspondre à celles des autres versions stables de Chromium. En tant que développeur d'applications, vous aurez accès plus rapidement aux nouvelles fonctionnalités et corrections de Chromium et V8.

❓ Le calendrier de sortie des 12 semaines existantes se déplace déjà rapidement. Quelles mesures l'équipe prend-elle pour faciliter la mise à niveau ?

L'un des avantages d'une fréquence de publication plus élevée est d'avoir des publications plus petites. Nous comprenons que la mise à niveau des versions majeures d'Electron peut s'avérer difficile. Nous espérons que les versions mineures introduiront moins de changements majeurs dans Chromium et Node, ainsi que moins de changements radicaux, par version.

❓ Y aura-t-il une version alpha disponible pour les futures versions d'Electron ?

Il n'est pas prévu pour l'instant de prendre en charge une version alpha permanente. Cette version alpha est uniquement destinée à Electron 15, afin d'aider les développeurs à effectuer plus facilement la mise à niveau pendant la période de publication raccourcie.

❓ Electron va-t-il étendre le nombre de versions supportées ?

Nous étendrons notre politique de prise en charge des versions des trois dernières versions aux quatre dernières versions d'Electron jusqu'en mai 2022, avec la sortie d'Electron 19. Après la sortie d'Electron 19, nous reviendrons à la prise en charge des trois dernières versions majeures, ainsi que des versions bêta et nocturne.

E13 (Mai 21)E14 (Aoû'21)E15 (Sep'21)E16 (Nov'21)E17 (Fév'23)E18 (Mar'22)E19 (Mai'22)
13.x.y14.x.y15.x.y16.x.y17.x.y18.x.y19.x.y
12.x.y13.x.y14.x.y15.x.y16.x.y17.x.y18.x.y
11.x.y12.x.y13.x.y14.x.y15.x.y16.x.y17.x.y
----12.x.y13.x.y14.x.y15.x.y--

Questions?

📨 Si vous avez des questions ou des préoccupations, veuillez nous écrire à info@electronjs.org ou rejoindre notre Discord. Nous savons qu'il s'agit d'un changement qui aura un impact sur de nombreuses applications et affectera les développeurs donc, vos commentaires sont très importants pour nous. Nous voulons avoir de vos nouvelles !

Electron 13.0.0

· 4 mins de lecture

Electron 13.0.0 est disponible ! Cette version inclue les mises à jour pour Chromium 91, V8 9.1, et Node. js. Nous avons ajouté plusieurs mises à jour de l'API, des corrections de bugs et des améliorations générales. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 13.0.0 ! You can install it with npm via npm install electron@latest or download it from our releases website. Continuez de lire pour plus de détails sur cette version, et s'il vous plaît, partagez vos commentaires et remarques !

Changements notables

  • Ajout de la propriété process.contextIsolated qui indique si le contexte de rendu actuel a contextIsolation activé. #28252
  • Ajout de la nouvelle API session.storagePath pour obtenir le chemin des données spécifiques à la session sur le disque. #28866
  • Déprécié l'événement new-window de WebContents. Il est remplacé par webContents.setWindowOpenHandler()
  • Ajout de process.contextId utilisé par @electron/remote. #28251

Voir les notes de version 13.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Electron 12.0.0

· 7 mins de lecture

Electron 12.0.0 est disponible ! It includes upgrades to Chromium 89, V8 8.9 and Node.js 14.16. We've added changes to the remote module, new defaults for contextIsolation, a new webFrameMain API, and general improvements. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 12.0.0 ! You can install it with npm via npm install electron@latest or download it from our releases website. Continuez de lire pour plus de détails sur cette version, et s'il vous plaît, partagez vos commentaires et remarques !

Electron 11.0.0

· 5 mins de lecture

Electron 11.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 87, V8 8.7, et Node.js 12.18.3. Nous avons ajouté la prise en charge d'Apple Silicon en plus d'autres améliorations générales. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 11.0.0 ! You can install it with npm via npm install electron@latest or download it from our releases website. La version est livrée avec des mises à jours, des correctifs et une nouvelle prise en charge du matériel M1 d'Apple.

On a hâte de voir vos prochaines créations avec cette version ! Continuez de lire pour plus de détails sur cette version, et s'il vous plaît, partagez vos commentaires et remarques !

Changements notables

  • Prise en charge d'Apple M1 : le 10 novembre, Apple a annoncé leur nouvelles puces M1, qui seront incluses dans leurs prochains matériels. À partir d'Electron 11, Electron livrera des versions séparées d'Electron pour les Mac Intel (x64) et pour le prochain matériel M1 d'Apple (arm64). Vous pouvez en savoir plus sur comment faire fonctionner votre application Electron sur le matériel M1 d'Apple ici. #24545
  • Ajout d’un message de plantage V8 et d’informations de localisation aux paramètres de crashReport. #24771
  • Improved the performance of sending wide objects over the context bridge. #24671

Voir les notes de version 11.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

Prise en charge d'Apple Silicon

· 4 mins de lecture

Avec la sortie de matériel Apple Silicon plus tard dans l'année, à quoi ressemble le chemin d'accès pour que votre application Electron fonctionne sur le nouveau matériel ?


Avec la sortie d'Electron 11.0.0-beta.1, l'équipe d'Electron est maintenant en train de livrer des versions d'Electron qui fonctionnent sur le nouveau matériel Apple Silicon qu'Apple prévoit d'expédier plus tard cette année. You can grab the latest beta with npm install electron@beta or download it directly from our releases website.

Comment ça marche ?

À partir d'Electron 11, nous expédierons des versions séparées d'Electron pour les Mac Intel et Apple Silicon Macs. Avant cette modification, nous proposions déjà deux artefacts, darwin-x64 et mas-x64, ce dernier étant destiné à la compatibilité avec le Mac App Store. Nous expédions désormais deux autres artefacts, darwin-arm64 et mas-arm64, qui sont les équivalents Apple Silicon des artefacts susmentionnés.

Que devez-vous faire ?

Vous devrez d'expédier deux versions de votre application : un pour la x64 (Intel Mac) et un autre pour am64 (Apple Silicon). La bonne nouvelle, c'est qu'il existe electron-packager, electron-rebuild et electron-forge prennent déjà en charge l'architecture arm64. Tant que vous utilisez les dernières versions de ces paquets, votre application devrait fonctionner parfaitement une fois que vous aurez mis à jour l'architecture cible vers arm64.

À l'avenir, nous publierons un package qui vous permettra de « fusionner » vos applications arm64 et x64 en un seul binaire universel, mais il convient de noter que ce binaire serait énorme et ne serait probablement pas idéal pour être distribué aux utilisateurs.

Mise à jour : ce package est désormais disponible à l'adresse @electron/universal. Vous pouvez l'utiliser pour fusionner deux applications x64 et arm64 packagées en un seul binaire.

Problèmes potentiels

Modules natifs

Comme vous visez une nouvelle architecture, vous devrez mettre à jour plusieurs dépendances qui peuvent causer des problèmes de construction. La version minimale de certaines dépendances est incluse ci-dessous pour votre référence.

DépendanceExigences relatives à la version
Xcode>=12.2.0
node-gyp>=7.1.0
electron-rebuild>=1.12.0
electron-packager>=15.1.0

En raison de ces exigences de version de dépendance, vous devrez peut-être corriger/mettre à jour certains modules natifs. Il est important de noter que la mise à niveau de Xcode introduira une nouvelle version du SDK macOS, ce qui pourrait entraîner des échecs de compilation pour vos modules natifs.

Comment puis-je le tester ?

Actuellement, les applications Apple Silicon ne fonctionnent que sur du matériel Apple Silicon, qui n'est pas disponible dans le commerce au moment de la rédaction de cet article. Si vous disposez d'un kit de transition pour développeurs, vous pouvez tester votre application dessus. Sinon, vous devrez attendre la sortie du matériel Apple Silicon pour tester si votre application fonctionne.

Qu’en est-il de Rosetta 2 ?

Rosetta 2 est la dernière version de la technologie Rosetta d'Apple, qui vous permet d'exécuter des applications Intel x64 sur leur nouveau matériel Apple Silicon arm64. Bien que nous pensions que les applications x64 Electron fonctionneront sous Rosetta 2, il y a quelques points importants à noter (et des raisons pour lesquelles vous devriez fournir un binaire arm64 natif).

  • Les performances de votre application seront considérablement réduites. Electron / V8 utilise la compilation JIT pour JavaScript, et en raison du fonctionnement de Rosetta, vous exécuterez en fait JIT deux fois (une fois dans V8 et une fois dans Rosetta).
  • Vous perdez les avantages des nouvelles technologies d'Apple Silicon, telles que l'augmentation de la taille des pages mémoire.
  • Avons-nous mentionné que la performance sera significativement dégradée?

Serveur Discord communautaire et Hacktoberfest

· 3 mins de lecture

Rejoignez-nous pour des liens avec la communauté et une célébration de l'open-source pendant un mois.


Bannière Hacktoberfest et Discord

Lancement de Discord de la communauté Electron

Le groupe de travail Outreach d'Electron est ravi d'annoncer le lancement de notre serveur Discord communautaire officiel!

Pourquoi un nouveau serveur Discord ?

À ses débuts, alors qu'il constituait l'épine dorsale de l'éditeur de texte Atom, les discussions communautaires sur le framework Electron se déroulaient sur un seul canal dans l'espace de travail Slack d'Atom. Au fur et à mesure que le temps passé et que les deux projets étaient de plus en plus découplés, la pertinence de l'espace de travail Atom pour le projet Electron a diminué, et la participation des responsables au canal Slack a décliné de la même manière.

Jusqu'à présent, nous étions encore en train de rediriger notre communauté vers l'espace de travail Atom Slack même si nous avons reçu de nombreux rapports de gens qui ont eu du mal à recevoir des invitations, et peu de nos responsables principaux étaient fréquentant le canal.

Nous mettons en place ce tout nouveau serveur afin qu'il devienne un centre de discussion central pour la communauté, où vous pourrez obtenir les dernières actualités sur tout ce qui concerne Electron.

Entrez ici !

Jusqu'à présent, l'adhésion du serveur se compose de quelques mainteneurs qui ont travaillé ensemble pour le configurer, mais nous sommes tellement excité de discuter avec vous tous ! Venez demander de l'aide, restez à jour avec les versions d'Electron, ou simplement faites appel à d'autres développeurs . Nous avons une invitation pratique pour vous qui vous donnera accès au serveur !

Hacktoberfest 2020

En tant que grand projet open-source de longue date, Electron n'aurait pas connu autant de succès sans toutes les contributions de sa communauté, des soumissions de code aux rapports de bogue aux changements de documentation, et bien plus encore. C'est pourquoi nous croyons en l'importance de participer à Hacktoberfest pour ouvrir une communauté plus large de développeurs de tous les niveaux de compétences dans le projet.

Chances et fin

Cette année, nous n'avons pas de projet plus large pour vous donner tous pour travailler, mais nous aimerions nous concentrer sur les opportunités de contribuer à dans l'écosystème JavaScript d'Electron.

Faites Attention aux problèmes marqués hacktoberfest sur nos différents référentiels, y compris le principal electron/electron, le site electron/electronjs.org , electron/fiddle, et electron-userland/electron-forge !

P.S. Si vous vous sentez particulièrement aventureux et à la recherche de défis., nous avons également un arriéré de problèmes marqués par les tags help wanted.

Bloqué ? Venez discuter avec nous!

De plus, ce n'est pas un hasard si le lancement officiel de notre serveur Discord coïncide avec la plus grande célébration des logiciels open source de l'année. Consultez le canal #hacktoberfest pour demander de l'aide sur votre PR Hacktoberfest. Au cas où vous l’auriez manqué, voici le lien d’invitation à nouveau!

Electron 10.0.0

· 6 mins de lecture

Electron 10.0.0 est disponible ! Cette version inclue les mises à jour vers Chromium 85, V8 8.5, et Node.js 12.16. Nous avons ajouté plusieurs nouvelles intégrations et améliorations de l'API. Lisez la suite ci-dessous pour plus de détails !


La team Electron est excitée d'annoncer la sortie de Electron 10.0.0 ! You can install it with npm via npm install electron@latest or download it from our releases website. Cette version inclue des mises à jour, des correctifs et de nouvelles fonctionnalités.

Dans cette version 10 de Electron, nous avons également modifié notre note de sorte. Pour qu'il soit plus facile de distiniguer ce qui est nouveau dans Electron 10 et ce qui peut avoir changé entre Electron 10 et les versions précédentes, nous incluons maintenant également des changements qui ont été introduits dans Electron 10, mais qui ont été rétroportés aux versions précédentes. Nous espérons que cela rendra l'intégration de nouvelles fonctionnalités et corrections plus facile pour les applications lors des mises à niveau d'Electron.

On a hâte de voir vos prochaines créations avec cette version ! Continuez de lire pour plus de détails sur cette version, et s'il vous plaît, partagez vos commentaires et remarques !

Changements notables

  • Added contents.getBackgroundThrottling() method and contents.backgroundThrottling property. [#21036]
  • Exposed the desktopCapturer module in the main process. #23548
  • Can now check if a given session is persistent by calling the ses.isPersistent() API. #22622
  • Resolve network issues that prevented RTC calls from being connected due to network IP address changes and ICE. (Chromium issue 1113227). #24998

Voir les notes de version 10.0.0 pour une liste complète des nouvelles fonctionnalités et des modifications.

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.

Google Season of Docs

· 3 mins de lecture

Electron est fier de participer à la deuxième édition de l'initiative de Google Season of Docs, qui associe des mentors d'organisations open source avec des rédacteurs techniques pour améliorer la documentation du projet.


Qu'est-ce que Season of Docs ?

logo de Season of Docs

Season of Docs est un programme qui favorise la collaboration entre les rédacteurs techniques et les communautés open source au profit des deux parties. Les responsables de l’open source utilisent l’expertise technique de rédaction de l’auteur pour améliorer la structure et le contenu de leur documentation, tandis que le rédacteur technique est présenté à une communauté open source sous la direction de ses mentors. En savoir plus à ce sujet sur le site Web de google Season of Docs.

Pour la première fois que nous participerons au programme, nous encadrerons un seul rédacteur technique qui travaillera aux côtés du groupe de travail sur l’écosystème d’Electron pour remodeler de grandes parties de notre documentation. Vous pouvez en savoir plus sur la chronologie de l’ensemble du projet ici.

Comment s'inscrire ?

Êtes-vous intéressé à collaborer avec nous en tant que rédacteur technique ? Tout d’abord, familiarisez-vous avec le guide du rédacteur technique de Google pour le programme de cette année et consultez les deux ébauches d’idées de projet que nous avons préparées.

Afin d’être sélectionnés en tant que rédacteur technique d’Electron pour Season of Docs, les candidats devront postuler sur le site Web google Season of Docs pendant la phase de candidature rédatcteur technique qui se déroule du 8 juin au 9 juillet..

Votre candidature doit inclure une proposition, qui est un document écrit qui décrit en détail ce que vous prévoyez d'accomplir sur les docs d'Electron au cours de 3 mois. Cette proposition peut soit se développer sur l'un des points de départ mentionnés dans notre doc Project Idea, soit être tout à fait nouveau. Vous ne savez pas par où commencer ? Vous pouvez consulter la liste des propositions acceptées de l'année dernière pour vous inspirer.

En plus de la proposition, nous étudierons également votre expérience en tant qu'auteur technique. Veuillez inclure une copie de votre curriculum vitae en mettant l'accent sur l'expérience écrite pertinente, ainsi que des échantillons d'écriture technique (ces échantillons peuvent être de la documentation existante, des tutoriels, des articles de blog, etc.)

Si vous voulez discuter des propositions de projet, envoyez-nous un e-mail à season-of-docs@electronjs.org et nous pouvons discuter à partir de là !

Références