Retour au blog

Brendan Eich Critique l'Utilisation d'Electron et WebView2 dans Windows 11

Salut HaWkers, une declaration du createur de JavaScript genere beaucoup de discussion dans la communaute des developpeurs: Brendan Eich a critique publiquement la dependance croissante de Windows 11 aux technologies web comme Electron et WebView2 pour construire des applications de bureau.

Eich, qui en plus de creer JavaScript a aussi fonde le navigateur Brave, a argumente que cette approche represente un "bloat" (gonflement) inutile du a "l'utilisation precipitee de l'UX Web sur le natif". Mais a-t-il raison? Analysons.

Le Contexte de la Critique

Windows 11 adopte de plus en plus de composants bases sur le web dans les applications systeme. Du nouveau Microsoft Teams a des parties de l'Explorateur Windows lui-meme, Microsoft remplace le code natif par des applications qui tournent sur WebView2, son composant base sur Chromium.

Applications Windows 11 Utilisant des Technologies Web

Basees sur Electron:

  • Microsoft Teams (version classique)
  • Visual Studio Code
  • Discord
  • Slack
  • Notion

Basees sur WebView2:

  • Microsoft Teams (nouvelle version)
  • Widgets Windows 11
  • Parties du Microsoft Store
  • Outlook (nouvelle version)

💡 Contexte: Electron empaquette un navigateur Chromium complet (~150Mo) avec chaque application, tandis que WebView2 partage une seule instance de Chromium sur le systeme.

L'Argument de Brendan Eich

Eich est connu pour ses opinions tranchees sur la technologie. Sa critique principale est que les entreprises privilegient la vitesse de developpement au detriment de l'experience utilisateur:

Problemes Soulignes

1. Consommation de Memoire

Une application Electron typique consomme:

  • Base: 150-300Mo RAM (juste pour le runtime)
  • Par onglet/fenetre: +50-100Mo supplementaire
  • Total moyen: 500Mo-1Go par application

2. Utilisation CPU

Comparaison du CPU au repos:

  • App native Win32: 0-0.1%
  • App .NET/WPF: 0.1-0.5%
  • App Electron: 1-3%
  • App WebView2: 0.5-1.5%

3. Temps de Demarrage

Type d'App Temps Moyen de Demarrage
Win32 natif 100-300ms
.NET/WPF 500-800ms
WebView2 800ms-1.5s
Electron 1.5-4s

Pourquoi les Entreprises Choisissent Electron et WebView2?

Malgre les inconvenients de performance, il existe des raisons economiques et pratiques solides pour ce choix:

Avantages du Developpement Web pour Bureau

Vitesse de developpement:

  • Une seule base de code pour Windows, Mac et Linux
  • Des millions de developpeurs web disponibles
  • Ecosysteme npm avec plus de 2 millions de packages
  • Outils de debogage familiers

Cout:

  • Moins de developpeurs necessaires
  • Time-to-market plus rapide
  • Maintenance simplifiee
  • Mises a jour plus frequentes

Coherence:

  • UI identique entre plateformes
  • Experience familiere pour les utilisateurs web
  • Design systems reutilisables

Le Contrepoint: Quand le Web a du Sens

Toute utilisation de technologies web sur bureau n'est pas mauvaise. Il existe des cas ou l'approche est justifiable:

Cas d'Utilisation Valides

1. Applications de Productivite Legeres

  • Editeurs de texte simples
  • Clients de messagerie
  • Applications de notes

2. Outils de Developpement

  • VS Code a prouve qu'Electron peut etre optimise
  • Les editeurs de code ont besoin d'extensibilite
  • La communaute web cree des plugins plus facilement

3. Applications Cross-Platform

  • Petites equipes sans ressources pour 3 codebases
  • MVPs qui doivent valider le marche rapidement
  • Applications qui ont deja une version web

Cas ou le Natif est Essentiel

1. Applications Systeme

  • Gestionnaires de taches
  • Explorateurs de fichiers
  • Outils de sauvegarde

2. Applications Haute Performance

  • Editeurs video/audio
  • Jeux
  • Logiciels CAO/3D

3. Applications avec Exigences de Securite

  • Gestionnaires de mots de passe
  • Logiciels bancaires
  • Applications d'entreprise sensibles

L'Avenir: Alternatives a Electron

La communaute des developpeurs cherche des alternatives qui combinent la productivite du developpement web avec de meilleures performances:

Options Emergentes

Tauri:

  • Utilise le WebView du systeme d'exploitation
  • Bundle de ~5Mo vs ~150Mo d'Electron
  • Ecrit en Rust (backend)
  • Croissance de 400% en 2025

Flutter Desktop:

  • Compilation native reelle
  • UI coherente entre plateformes
  • Performance proche du natif
  • Adopte par Google et d'autres

React Native for Windows:

  • Rend vers des composants natifs
  • Familier aux developpeurs React
  • Support de Microsoft
  • Meilleure integration Windows

Capacitor:

  • Evolution de Cordova
  • Plugins natifs faciles
  • Moins d'overhead qu'Electron
  • Bon pour les apps hybrides

Impact Pour les Developpeurs

Si vous decidez quelle technologie utiliser pour votre prochain projet de bureau, considerez:

Questions a Poser

  1. Quel est le public cible? - Les utilisateurs techniques tolerent des apps plus lourdes
  2. Quelles sont les exigences de performance? - Les applications temps reel necessitent du natif
  3. Quel est le budget? - Le developpement natif coute plus cher
  4. Quelle est l'urgence? - Les MVPs beneficient d'Electron
  5. Y a-t-il une version web? - Reutiliser le code peut en valoir la peine

Recommandations Pratiques

Pour les nouveaux projets:

  • Considerez Tauri comme alternative a Electron
  • Evaluez Flutter pour les apps necessitant de la performance
  • Utilisez WebView2 si c'est exclusif a Windows

Pour les projets existants en Electron:

  • Optimisez avec les meilleures pratiques (lazy loading, cache)
  • Considerez une migration graduelle vers Tauri
  • Surveillez l'utilisation memoire et CPU

Conclusion

La critique de Brendan Eich reflete une tension reelle dans le developpement logiciel: la recherche de vitesse de livraison versus l'experience utilisateur. Bien que des technologies comme Electron et WebView2 aient democratise le developpement de bureau, elles ont aussi apporte des compromis de performance qui affectent des millions d'utilisateurs.

L'avenir semble etre dans des technologies hybrides comme Tauri, qui cherchent le meilleur des deux mondes. Pour nous developpeurs, la cle est d'evaluer chaque projet individuellement et de choisir le bon outil pour le travail.

Si vous voulez en savoir plus sur les tendances qui faconnent JavaScript en 2025, je recommande de consulter un autre article: TypeScript 5.9 et ECMAScript 2025 Approuve ou vous decouvrirez les nouvelles fonctionnalites qui impactent votre code.

Allons-y! 🦅

Commentaires (0)

Cet article n'a pas encore de commentaires. Soyez le premier!

Ajouter des commentaires