En réalité, Electron est meilleur qu’on ne le pense
(blog.vaxry.net)- Electron souffre d’une idée reçue selon laquelle il serait simplement lent et inefficace, alors qu’en réalité c’est un outil efficace et puissant
- Les problèmes de consommation de RAM et de taille de stockage relèvent d’une tendance générale des applications modernes, et ne sont pas propres à Electron
- Pour les applications où les fonctionnalités basées sur les technologies web sont importantes, comme les services de streaming, Electron est au contraire un choix naturel
- Il est optimisé pour une vitesse de développement rapide et le réseau asynchrone, ce qui le rend très productif
- La réputation de lenteur d’Electron vient surtout d’applications de mauvaise qualité développées par des entreprises ; une application Electron bien conçue peut être tout à fait rapide et utile
Préjugés sur Electron
- Electron est comparable à un navigateur Chromium qui affiche localement une page web
- Cela a alimenté l’idée qu’il serait lent, inefficace et « non natif », mais ce n’est pas la réalité
Efficacité
- Si Electron était réellement inefficace, le navigateur Chromium lui-même ne fonctionnerait pas correctement
- Electron se contente d’embarquer de nombreux éléments ensemble pour faire fonctionner correctement l’application
Consommation de RAM
- L’affirmation selon laquelle « Electron consomme énormément de RAM » est inexacte
- Résultats de mesures réelles
- Vermilion (basé sur Electron) : 215MB
- Dolphin (basé sur Qt6/KDE) : 258MB
- Nautilus (basé sur GTK4/Libadwaita) : 374MB
- Les applications modernes ont tendance à consommer davantage de RAM à mesure que leurs fonctionnalités se multiplient, et ce n’est pas un problème propre à Electron
Taille de stockage
- Les applications Electron embarquent de nombreuses dépendances, ce qui augmente leur taille
- La structure est comparable à celle de Flatpak ou AppImage, ce qui améliore la portabilité et la stabilité
Vitesse
- Si les applications Electron sont lentes, ce n’est pas à cause d’Electron lui-même, mais principalement parce que des entreprises ont développé ces applications de manière bâclée
Les cas où Electron est au contraire meilleur
Gestion du DRM
- Les services de streaming utilisent des DRM, ce qui impose des technologies basées sur le web
- Par exemple, Tidal exige Widevine, et Electron dispose d’un écosystème permettant de l’intégrer facilement
- Spotify aussi ne permet légalement le streaming qu’au travers de modules JS
Vitesse de développement rapide
- TypeScript et Electron permettent un développement très rapide pour les personnes ayant de l’expérience avec les technologies web
- Par rapport aux frameworks basés sur GTK ou QT, les technologies web sont bien plus accessibles et nettement plus faciles à apprendre
Réseau asynchrone
- Dans les cas où les communications asynchrones sont fréquentes, comme pour les applications de streaming, les technologies web sont particulièrement bien optimisées
Electron convient-il à tout ?
- En théorie, c’est possible, mais il ne convient pas aux cas qui exigent un minimum de ressources, comme les applications desktop essentielles
- Pour des applications complexes, riches en fonctions en ligne et nécessitant une approche multiplateforme, Electron est un choix logique
- Si la qualité de développement est au rendez-vous, une application Electron peut tout à fait être rapide et efficace
- Des applications Electron comme Obsidian ou VS Code offrent par exemple d’excellentes performances
- Avec les progrès récents de WASM, en déléguant les tâches lourdes, les applications Electron peuvent rivaliser avec les applications desktop traditionnelles
Conclusion
- La plupart des critiques envers Electron viennent surtout d’anciennes versions d’Electron ou d’applications de mauvaise qualité développées par des entreprises
- L’idée selon laquelle « c’est lent parce que ce n’est qu’une page de navigateur » est déconnectée de la réalité, les navigateurs modernes affichant des performances très élevées
16 commentaires
C’est juste que vous n’avez jamais vu une équipe qui maîtrise vraiment Electron ~
... c’est un peu ce que ça veut dire, non ? hahaha
Moi aussi, j’utilisais Electron il y a 2 ou 3 ans, mais ces derniers temps je développe plutôt avec Tauri..
J'aime bien.
Utilisez Tauri. Le backend est en Rust et l’intégration est plus simple qu’on ne le pense.
Il n’y a que des affirmations, sans la moindre preuve.
Enfin, l’expérience de développement reste meilleure qu’avec quelque chose comme Qt, non ?
Je comprends les autres points, mais l'affirmation concernant la RAM est vraiment trop éloignée de l'expérience réelle...
Les applications Electron qui doivent rester en permanence en arrière-plan me semblaient toujours un peu contraignantes.
Bof... même avec seulement 3 ou 4 applis Electron ouvertes, c'est très fréquent de galérer faute de mémoire....
La surface d’attaque est beaucoup trop vaste, mais comme ça n’intéresse pas grand monde, je vais finalement arrêter de m’en occuper.
Je suis d’accord pour dire que c’est un bon framework en soi, mais comme beaucoup d’entreprises et de startups produisent à la chaîne en invoquant une bonne productivité sans se soucier des performances, dès qu’on me dit qu’une application est faite avec Electron, j’ai tendance à la rejeter.
Honnêtement, même avec un bon ordinateur portable, je ne trouve pas vraiment que VSCode soit rapide. Au final, je finis soit par utiliser IntelliJ, carrément lourd mais pratique grâce à toutes ses fonctionnalités, soit un IDE ou un éditeur de texte développé nativement. Clairement, c’était plus rapide et l’expérience était meilleure.
C’est très bien, mais comme il y a une taille de base, ce n’est pas vraiment adapté à n’importe quel usage..
Electron, c’est vraiment génial, qui a dit le contraire… c’est vraiment top.
Les problèmes liés à Flatpak ou AppImage n’ont, il me semble, plus grand-chose à voir avec le sujet dès qu’on revient à Windows, haha..
Je pense qu’Electron est en soi un très bon framework. Son développement est très actif et, surtout, tout ce qui doit être implémenté dans Chromium l’est déjà.
Ce que les gens comprennent mal à propos d’Electron
Comparaison entre Tauri et Electron - performances, taille du bundle et vrais compromis