Retour au blog

Brendan Eich Critique Windows 11 pour Usage Excessif de WebView2 et Electron

Salut HaWkers, Brendan Eich, le createur de JavaScript et fondateur du navigateur Brave, a souleve une discussion importante sur avenir du developpement desktop. Dans commentaires recents, il a critique Microsoft pour utilisation croissante de WebView2 et frameworks bases sur Electron dans Windows 11.

Le debat sur performance native versus technologies web est plus chaud que jamais, et les implications affectent developpeurs sur toutes plateformes.

Ce Que Brendan Eich a Dit

Eich na pas epargne critiques pour ce quil appelle "gonflement" de Windows 11:

Principaux points souleves:

  • Windows 11 est de plus en plus dependant interfaces web
  • Applications natives sont remplacees par wrappers Electron/WebView2
  • Le resultat est consommation excessive memoire et CPU
  • Experience utilisateur se degrade
  • Microsoft priorise vitesse developpement sur qualite

💡 Contexte: Brendan Eich a cree JavaScript en 1995 chez Netscape. Malgre etre le "pere" du langage qui execute Electron, il defend utilisation responsable des technologies web.

Le Probleme Avec Apps Electron/WebView2

Pour comprendre la critique, il faut connaitre comment ces frameworks fonctionnent.

Comment Electron Fonctionne

Chaque application Electron charge:

  • Une instance complete de Chromium (navigateur)
  • Le runtime Node.js
  • Le code JavaScript/HTML/CSS de application
  • Bibliotheques et dependances

Impact typique dune app Electron:

Ressource App Native App Electron Difference
RAM (idle) 30-50 MB 150-400 MB 5-10x
Taille installation 10-50 MB 150-500 MB 5-15x
Temps demarrage < 1s 2-5s 3-5x
Usage CPU (idle) < 1% 2-5% 3-5x

Exemples Apps Electron Populaires

Applications utilisant Electron:

  • VS Code (Microsoft)
  • Slack
  • Discord
  • Figma Desktop
  • Notion
  • 1Password
  • Postman
  • Microsoft Teams

Autre Cote du Debat

Defenseurs Electron et WebView2 ont aussi arguments valides.

Avantages Developpement Web pour Desktop

Pourquoi entreprises choisissent Electron:

  1. Une codebase, multiples plateformes: Windows, Mac, Linux avec meme code
  2. Ecosysteme JavaScript: Millions bibliotheques disponibles
  3. Vitesse developpement: Time-to-market significativement plus court
  4. Embauche: Developpeurs web sont plus abondants
  5. Maintenance: Mises a jour plus faciles a distribuer

Ameliorations Recentes

Ce qui a change ces dernieres annees:

  • Electron 28+: Optimisations memoire significatives
  • WebView2: Plus leger que Chromium complet
  • Tauri: Alternative plus legere utilisant webview natif
  • Capacitor: Autre option pour apps hybrides

Impact sur Windows 11

La critique dEich reflete tendance visible dans systeme Microsoft.

Composants Web dans Windows 11

Parties Windows utilisant technologies web:

  • Widgets (WebView2)
  • Parametres (partiellement)
  • Microsoft Store
  • Applications systeme diverses
  • Integrations services cloud

Utilisateurs Remarquent la Difference

Plaintes communes:

  • Systeme exploitation plus lent que Windows 10
  • Consommation RAM plus elevee au repos
  • Applications prennent plus temps a ouvrir
  • Batterie portables se vide plus vite
  • Ventilateur tourne plus frequemment

Alternatives et Solutions

Le marche repond avec options plus legeres.

Tauri: Alternative Rust

Tauri offre apps desktop utilisant Rust en backend et webview natif:

Comparaison Tauri vs Electron:

Metrique Electron Tauri Amelioration
Taille binaire ~150 MB ~3-10 MB 15-50x
RAM (idle) ~200 MB ~20-40 MB 5-10x
Temps build Lent Rapide 3-5x
Securite Bonne Excellente Rust memory safety

Autres Alternatives

Options pour developpement desktop:

  • Flutter Desktop: Google, Dart, bonne performance
  • React Native Windows: Microsoft, JavaScript, vrai natif
  • .NET MAUI: Microsoft, C#, multiplateforme
  • Qt: C++, excellente performance, licence complexe

Ce Que Cela Signifie Pour Developpeurs JavaScript

Le debat souleve questions importantes sur choix technologiques.

Quand Utiliser Electron/WebView2

Cas ou ca fait sens:

  • Prototypage rapide
  • Apps internes entreprise
  • Produits necessitant multiples plateformes
  • Equipes avec experience primaire web
  • MVPs et validation idees

Quand Considerer Alternatives

Cas ou performance compte plus:

  • Applications productivite utilisees heures par jour
  • Outils pour developpeurs
  • Apps tournant en arriere-plan
  • Produits B2C ou UX est critique
  • Systemes avec ressources limitees

Competences a Developper

Pour rester pertinent:

  1. Performance optimization: Comprendre ou JavaScript est lent
  2. Rust/Tauri: Alternative croissante
  3. WebAssembly: Pont entre web et performance native
  4. Profiling: Identifier goulots etranglement
  5. Native bindings: Appeler code natif quand necessaire

Avenir du Developpement Desktop

Le debat entre natif et web ne finira pas, mais tendance pointe vers juste milieu.

Tendances Emergentes

Quoi attendre:

  • WebAssembly gagnant espace dans apps desktop
  • Frameworks hybrides plus efficaces
  • Plus grande pression pour performance apps Electron
  • APIs natives plus accessibles via JavaScript
  • Outils developpement ameliorant optimisation

Lecons Pour Developpeurs

Takeaways pratiques:

  1. Performance compte et utilisateurs remarquent
  2. Convenience a un cout - connaissez les tradeoffs
  3. Alternatives existent - evaluez avant de choisir
  4. Le marche evolue - restez a jour
  5. Fondamentaux comptent - comprenez ce qui se passe "sous le capot"

Conclusion

La critique de Brendan Eich nest pas contre JavaScript ou technologies web - cest contre leur usage irresponsable. Comme createur du langage, il sait mieux que quiconque ses capacites et limitations.

Pour developpeurs JavaScript, message est clair: connaissez vos outils, comprenez les tradeoffs, et choisissez bonne technologie pour chaque probleme.

Si vous voulez approfondir comment JavaScript evolue pour resoudre certains de ces problemes, je recommande consulter article sur Signals JavaScript: Le Pattern Natif qui Va Revolutionner la Reactivite Web ou vous decouvrirez optimisations arrivant au langage.

Allons-y! 🦅

Commentaires (0)

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

Ajouter des commentaires