IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Electron, le framework pour le développement des apps multiplateformes de bureau avec HTML, CSS et JS, est disponible en version 11.0
Et intègre désormais le support de l'architecture ARM64 d'Apple

Le , par Olivier Famien

0PARTAGES

13  0 
Electron, le framework qui permet de développer les applications multiplateformes de bureau avec HTML, CSS et JavaScript, est disponible en version 11.0. Étant basé sur Chromium pour la partie frontend et node.js pour la partie backend, Electron intègre dans cette nouvelle version le support pour les dernières versions de la pile web à savoir Chrome 87, Node 12.18.3 ainsi que la version 8.7 du moteur JavaScript V8. En plus des mises à niveau de la pile web, la grosse nouveauté qui intervient dans cette dernière version d’Electron est la prise en charge de la nouvelle architecture de processeur ARM sur laquelle sont basés les ordinateurs Mac d’Apple qui viennent de sortir.

Pour ceux qui n’ont pas suivi toute l’histoire, il faut savoir que dans les années 1990, Apple qui utilisait les microprocesseurs de Motorola pour ses ordinateurs a décidé de migrer vers les PowerPC d’IBM pour des raisons de performance. Au fil des années, la bataille des processeurs s’intensifia et en 2005, Steve Jobs annonça le basculement des ordinateurs Apple vers les processeurs Intel (architecture x86). Pour achever sa transition, Apple s’est donné une seule année. En 2006, la firme à la pomme avait résolument tourné le dos aux processeurs PowerPC d’IBM en sortant de nouveaux ordinateurs y compris les premiers Mac Pro entièrement équipés de puces Intel et du système Mac OS X réécrits pour s’adapter à cette nouvelle architecture.

Si les processeurs Intel avaient été présentés dès le départ comme possédant un rapport de performance par watt cinq fois supérieur aux PowerPC, il convient de souligner qu’au fil des années, le fondeur américain n’a pas su conserver ses atouts. Les bugs à répétition découverts dans le fonctionnement des puces Intel, des performances relativement insignifiantes pour les nouvelles générations de processeurs, l’efficacité énergétique des processeurs pointée du doigt, le passage à un processus de gravure meilleure toujours attendu, des pénuries de certains processeurs Intel, etc., sont autant de défauts qui ont poussé Apple à reconsidérer son partenariat avec Intel et à envisager une migration de ses appareils vers ses puces ARM qui équipent déjà les appareils iPhone et iPad. La semaine dernière, Apple a présenté ses nouveaux appareils et depuis le début de cette semaine, les utilisateurs ont commencé à recevoir leurs premiers appareils (MacBook mini, MacBook Air et MacBook pro) équipés de la nouvelle puce M1 (ARM64).


Comme pour le passage de l’architecture RISC POWER au x86, le passage au SoC (system on chip) d’Apple ne se fait pas sans douleur. Les applications x64 doivent être recompilées pour l’ARM64. Et pour celles qui ne le peuvent pas pour l’instant, Apple a conçu l’outil Rosetta 2 qui permet d’émuler les applications x64 afin de les rendre fonctionnelles sur plateforme ARM64 d’Apple. Pour les développeurs qui ont déjà compilé leurs applications Electron en x64, bien qu’il soit possible de les exécuter sur les appareils Apple dotés de puce M1 en utilisant l’outil Rosetta 2, l’équipe d’Electron déconseille fortement de le faire, car :
  • Les performances de votre application seront considérablement dégradées. Electron/V8 utilise la compilation JIT pour JavaScript, et en raison du fonctionnement de Rosetta vous allez exécuter deux fois JIT (une fois en V8 et une fois en Rosetta) ;;
  • vous perdrez l’avantage de la nouvelle technologie du SoC d’Apple, comme l’augmentation de la taille de la page mémoire.



Pour contourner ces problèmes, Electron annonce une compatibilité complète de son dernier framework avec les Mac dotés de la puce M1. Les développeurs peuvent donc utiliser Electron 11 pour recompiler leurs applications x86-64 pour ARM64 afin de tirer profit de tous les avantages de la nouvelle architecture d’Apple. Et pour éviter la confusion, l’équipe d’Electron précise qu’à partir de cette version 11.0, elle publiera des versions séparées d’Electron pour les appareils Intel (x64) et Electron les appareils M1 (ARM64). L’entreprise explique également qu’il est possible qu’elle publie un paquet qui permettrait de fusionner les applications ARM64 et x64 en un seul binaire, mais ce binaire serait énorme et pourrait ne pas être intéressant pour les utilisateurs.

Au-delà de la prise en charge du SoC d’Apple, cette nouvelle version d’Electron a supprimé certaines API expérimentales comme BrowserView.{destroy, fromId, fromWebContents, getAllViews} et la propriété id de BrowserView. Par ailleurs, plusieurs améliorations ont également atterri dans cette dernière version d’Electron. Ce sont entre autres :

  • L’ajout d’un message de crash V8 et d’informations de localisation aux paramètres de crashReport ;;
  • l’ajout d’un petit conseil à la console pour aider à déboguer le moteur de rendu ;;
  • l’ajout d’un nouvel événement de menu contextuel du système pour permettre d’empêcher et de remplacer le menu contextuel du système ;;
  • l’ajout de webContents.forcefullyCrashRenderer() pour terminer de force un processus de rendu afin d’aider à récupérer un moteur de rendu bloqué ;;
  • l’ajout de l’API app.getApplicationInfoForProtocol() qui renvoie des informations détaillées sur l’application qui gère un certain protocole
  • l’ajout de l’API app.createThumbnailFromPath () qui renvoie une image d’aperçu d’un fichier en fonction de son chemin de fichier et d’une taille de miniature maximale ;;
  • et bien d’autres améliorations.


Télécharger Electron 11.0.2

Source : Blog Electron, GitHub

Et vous ?

Avez-vous testé la nouvelle version d’Electron ;? Quels commentaires en faites-vous ;?

Quelles orientations devraient prendre les nouvelles versions d’Electron ;? Un seul paquet pour fusionner les applis x64 et ARM64 ;? Ou deux paquets séparés pour compiler les applications x64 et ARM64 ;?

Voir aussi

Faut-il utiliser Electron pour le développement d'applications de bureau ? Quels sont ses avantages et inconvénients ?
Sortie de la version 4.0 d'Electron, le framework pour le développement d'applications de bureau multiplateformes
L'OS Windows 95 devient une appli gratuite qu'on peut lancer depuis Windows, Linux ou Mac grâce au framework open source Electron et à un passionné
Electron 7.0.0 est disponible et inclut les mises à jour vers Chromium 78, V8 7.8 et Node.js 12.8.1 ainsi que des méthodes IPC plus rapides
Electron 9.0 est disponible, améliore l'efficacité du gestionnaire d'événements de fenêtres sous Linux, avec ajout de nouvelles méthodes et de nouvelles API et quelques correctifs de bogues

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de ManPaq
Membre averti https://www.developpez.com
Le 02/12/2020 à 6:50
bientôt Mac OS sur raspberry pi?
0  0 
Avatar de vivid
Membre habitué https://www.developpez.com
Le 14/12/2020 à 13:43


Verrou, verrou, verrou...
0  0 
Avatar de zecreator
Membre expert https://www.developpez.com
Le 28/08/2021 à 16:56
Bonjour,
La magie de Electron a fonctionné pendant des années. Mais il est clair qu'aujourd'hui, il devient de plus en plus contraignant à utiliser. Pour plusieurs raisons. Ceci est le constat suite à ma propre expérience avec Electron ces 3 dernières années.

La taille de son exécutable :
Electron ou comment un simple "Hello World" pèse 160Mo une fois compilé.
Et là, ce n'est que l'exécutable de l'application, car il faudra encore fournir tout le moteur de Chromium dont votre application aura besoin pour s'afficher (environ 200 Mo). Il faudra une distribution totale d'environ 300-350Mo pour que votre petit jeu de morpion, codé en HTML5/Javascript, s'affiche à l'écran.

Gourmand en RAM:
Parce que le nombre de process et sous process est considérable, Electron est un vrai RAM killer. C'est bien simple, il suffit d'ouvrir le moniteur de mémoire de votre OS et de lancer une application Electron. C'est impressionnant.

Failles de sécurité et APIs dépréciées:
Je n'ai jamais vu ma console JS aussi jaune, tellement il y a de warnings de dépréciation. C'est bien simple, on se demande comment une application Electron peut avoir une durée de vie raisonnable, sans passer sont temps à mettre à jours les packages. Et ça quand une mise à jour existe.

Un build aléatoire et apocalyptique:
Envie de compiler votre propre Electron "sur-mesure" depuis les sources ? Quand le rêve vire au cauchemar. Si sous Windows, on ne rencontre pas trop de problèmes, c'est sous Linux que cela devient le parcours du combattant. C'est bien simple, soit ça compile pas... soit ça compile, mais ça ne se lance pas. On arrive à obtenir un résultat, souvent après avoir passé 3 heures sur différents forums, et avoir testé 50 solutions toutes plus hasardeuse que d'autres.

Une communauté qui pose plus de question qu'elle n'a de réponse:
Et pour cause, nombreux sont ceux qui, comme-moi, sont absolument incapables de dire comment ils ont fait fonctionner le bazar. C'est juste un coup de bol...

Bref, à Electron j'ai préféré d'autres solutions cross-plateforme, comme Tauri, qui semble très prometteur.

A+
0  0