Et ça c'est avant l'émergence de Flutter Web. Les réseaux et les navigateurs vont chialer quand il va falloir télécharger le verbeux JS issu du code Dart.
De même quid d'Angular ? Est-ce bien toujours "la version avec TypeScript", par opposition avec AngularDart ? Parce que bon si beaucoup de sites et aplis Web de l'étude sont réalisées avec AngularDart, il ne faudrait alors pas s'étonner de voir autant de JS issu de Dart saturer les réseaux.
L'inflation s'est faite sur nos connexions toujours meilleures et nos appareils toujours plus puissants. jQuery venant d'une époque où les ressources étaient plus limitées, je ne suis pas surpris de le voir plus économe.
Le problème c'est quon a tendance à utiliser trop de frameworks et de librairies. Je me souviens d'un site un peu pataud pour lequel j'avais regardé ce qu'il utilisait comme librairies JS. Il y en avait une dizaine pour tout et n'importe quoi. Et comme cerise sur le gâteau, il y en avait une ultime pour optimiser les performances du site, comme si les performances moyennes du site n'avaient aucun rapport avec le trop-plein de librairies JS qu'il utilisait.
À terme (si ce n'est pas déjà le cas), le goulot d'étranglement sera le navigateur. Quoiqu'on veuille faire, il faut que le projet Web (site ou application) finisse côté client en un mélange de ces 4 langages parce que ce sont les seuls que les navigateurs soient fichus de lire : HTML, CSS, JavaScript et WebAssembly. Et donc en quelque chose avec les défauts de ces 4 technologies incontournables.
Si on veut aller vers plus de performances alors je pense qu'il faudra tendre vers du WASM renforcé, càd plus qu'une solution de performance pour le backend de la page. On pourrait alors écrire le côté client dans le langage de notre choix (C/C++, Rust, C#...), avec les technologies de ce langage de notre choix (dont les frameworks de GUI), pour ensuite compiler le tout en WASM et ne distribuer que le WASM aux navigateurs. Bien sûr les ressources multimédia (images, sons, vidéos) pourraient continuer à être distribuées séparément sinon je n'ose imaginer la taille des fichiers WASM distribués, surtout ceux avec un film en UHD complet dedans.En bref cela passera par la "desktopisation du Web" et aller jusqu'au bout de WASM, à savoir être une sorte d'assembleur comme on a notre bon vieux ASM pour les applis de bureau. Côté utilisateur on aura l'avantage des performances et côté développeur on pourra développer avec la technologie qui nous semble la plus adaptée à ce que l'on veut faire, sans que cela ne déteigne sur les performances, ni devoir passer par la case JS si JS n'est pas adapté à ce que l'on veut faire.
Le problème des librairies JS est qu'elles prennent plaisir à se rendre interdépendantes et NPM "350 Mo de téléchargements dans node_modules plus tard" n'aide pas.
La seule chose qui me chagrine avec Vue semble que le framework semble se torcher avec la validation W3C. M'est avis que si le client l'exige (parce que pourquoi pas) alors t'es mal barré si tu te bases sur Vue. Comment faire par exemple pour maquiller un v-if en data-v-if pour que ça passe à la validation sans tout péter dans Vue ?
C'est possible dans un monde parfait ou dans tes projets personnels. Moins dans une entreprise qui n'a qu'une techno sous la main et qui va forcer sur celle-ci pour décrocher le projet (et surtout le fric qui va avec), indépendamment de sa capacité de la techno à convenir pour le projet lui-même.
Partager