Ouvrir le menu principal

MacGeneration

Recherche

Développement : Electron est-il le nouveau Flash ?

Nicolas Furno

mercredi 26 avril 2017 à 12:50 • 65

Logiciels

Vous ne connaissez peut-être pas le nom d’Electron, mais vous l’utilisez sans doute sans le savoir. De nombreuses apps pour ordinateurs utilisent cette technologie, que ce soit sur macOS, sur Windows ou sur Linux. Et pour cause, ce framework est conçu pour développer des applications multiplateformes en utilisant des technologies du web.

Cliquer pour agrandir

Sous le capot, Electron est constitué d’un serveur en JavaScript (node.js) et il exploite Chromium, le moteur d’affichage open-source de Google, pour son interface. Les apps Electron ont l’apparence d’interfaces natives, mais elles sont en fait codées en HTML, CSS et JavaScript. Tout ce bagage technologique ressemblera peut-être à du chinois si vous n’êtes pas développeur, mais il est essentiel pour comprendre le problème.

En optant pour des technologies du web plutôt que pour les outils natifs spécifiques à chaque plateforme, Electron simplifie le travail des développeurs. Et de fait, le framework créé à l’origine par GitHub est désormais très largement exploité : la messagerie instantanée Slack, les éditeurs de code Atom et Visual Studio Code, les apps des blogs WordPress et Ghost, l’éditeur Markdown Caret, le gestionnaire de notes Simplenote ou encore le client mail Nylas sont quelques exemples parmi tant d’autres.

Quelques apps parmi toutes celles qui exploitent Electron. Cliquer pour agrandir

La contrepartie de cette simplicité, c’est que les performances ne sont pas aussi bonnes qu’avec un développement natif. C’est toujours le cas avec les technologies multiplateformes, mais Electron est particulièrement mal placé en la matière. Il repose sur le navigateur de Google qui n’est pas connu pour sa légèreté et il est très facile de développer des apps sans les optimiser et en faire des gouffres à mémoire vive.

À l’arrivée, une app très utilisée comme Slack reçoit régulièrement des critiques de la part d’utilisateurs surpris qu’une messagerie nécessite autant de ressources. C’est elle qui a suscité l’analogie entre Electron et Flash chez un développeur, alors que l’app à l’arrière-plan monopolisait toutes les ressources de son Mac. Il a collaboré sur le noyau de Chrome et il sait ainsi que c’est un immense projet qui contient autant de lignes de code que le noyau de Linux et qui gère des cas de figure complètement inutiles pour Electron.

Slack peut vite monopoliser beaucoup de ressources… (image Marc Edwards). Cliquer pour agrandir

Est-ce que l’équipe de Slack a pris soin de modifier Chromium pour l’adapter à ses besoins ? Probablement pas, ce qui explique son poids (163 Mo sur macOS pour la dernière version) et son aptitude à consommer beaucoup trop de RAM. On évoque cette app, mais c’est la même chose pour tous ceux qui exploitent Electron. L’éditeur de code Atom développé par GitHub pour qui Electron a été mis en place dépasse les 270 Mo sur le SSD, pour prendre un autre exemple.

Au-delà de l’utilisation des ressources, ces apps peuvent être très difficiles à optimiser. Microsoft utilise Electron pour Visual Studio Code et l’éditeur a fait face à un bug assez hallucinant. Sur macOS uniquement, le curseur clignotant de cet éditeur de code consomme à lui seul environ 13 % de CPU. Ce curseur est affiché et masqué en CSS et un bug de Chromium utilise trop le processeur sur le système d’Apple. L’entreprise a fini par trouver une solution qui devrait être disponible prochainement dans la version finale, mais cet exemple illustre bien la difficulté apportée par Electron.

La prochaine version d’Atom se lancera beaucoup plus rapidement que la précédente. Cliquer pour agrandir

Même GitHub, créateur d’Electron, a du mal à optimiser ses apps et notamment pour accélérer les temps de lancement. Une prochaine version d’Atom, son éditeur de code, se lancera 50 % plus rapidement que la précédente. C’est très bien, mais cela prouve qu’il reste encore beaucoup de place pour optimiser et aussi que ce n’est pas simple, puisqu’il y a beaucoup de facteurs et d’acteurs à prendre en compte.

Ces applications Electron sont aussi parfois plus limitées que les équivalents natifs. Pour rester sur l’exemple d’Atom, le logiciel n’était pas capable d’ouvrir des fichiers de plus de 2 Mo pendant très longtemps. On peut maintenant le faire, mais un message d’alerte indique que les performances ne seront pas bonnes. Et il ne faut pas compter sur certaines fonctions importantes, comme la coloration syntaxique. En comparaison, un logiciel concurrent natif comme TextMate est peut-être un petit peu plus lent, mais il garde toutes ses fonctions.

Atom s’est amélioré sur ce point, mais les gros fichiers lui font toujours peur. Cliquer pour agrandir

Electron est une belle idée et le framework a permis effectivement à de nombreuses apps pour ordinateurs d’exister sur toutes les plateformes. La souplesse offerte par les technologies du web est indéniable aussi et ces apps sont plus faciles à développer au premier abord. Mais il y a des contreparties à prendre en compte face aux avantages et la multiplication des projets Electron n’est pas forcément une bonne nouvelle.

Ne terminons pas sur une note négative. Comme tout projet logiciel, Electron est appelé à évoluer et ses concepteurs peuvent se concentrer sur l’optimisation des performances. Par ailleurs, il devrait aussi profiter des optimisations menées depuis plusieurs années par Google sur Chrome.

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Apple insiste pour aider Google dans son procès, et fait appel de la décision de la cour de justice

21:00

• 3


Première grosse mise à jour de MainStage depuis 2023

20:00

• 3


Le CEC fonctionne en HDMI sur les Mac M3 et M4

18:30

• 18


Caldigit met quatre ports Thunderbolt 5 dans une minuscule station d’accueil

17:00

• 16


NordVPN veut simplifier la connexion à son service sur les réseaux bloquant les VPN

15:00

• 20


Promo : MacBook Air M3 avec 16/512 Go à seulement 1 209 € (-320 €)

14:59

• 10


Passez à Microsoft Office pour moins de 40 € avec les soldes d'hiver 2025 de Godeal24 📍

14:23


Orange commence à démanteler son réseau ADSL en France

12:37

• 67


Magazine des 25 ans : plus que quelques jours pour précommander votre exemplaire

10:30

• 9


2,35 milliards d’appareils Apple actifs dans le monde

10:20

• 32


Comment empêcher son MacBook de démarrer automatiquement à l'ouverture de l'écran ou au branchement sur secteur

07:37

• 69


Résultats Apple T1 2025 : l'iPad et le Mac à la fête, l'iPhone en difficulté

30/01/2025 à 23:10

• 117


Le Pentagone bloque l’accès à DeepSeek à ses employés, après avoir constaté de nombreux accès au chatbot

30/01/2025 à 21:45

• 24


Payer son ticket avec sa carte bancaire dans les transports parisiens, ce n’est pas pour demain

30/01/2025 à 21:29

• 72


Le fondateur de TSMC explique pourquoi Apple a abandonné Intel

30/01/2025 à 15:01

• 34


Meta accepte de payer 25 millions de dollars à Donald Trump pour avoir banni ses comptes en 2021

30/01/2025 à 12:17

• 101