J’ai récemment vu la conférence Rethinking Reactivity de Rich Harris, sur son outil Svelte. Je suis sûr que cette conférence fera date, et va influencer tout l’écosystème des outils JavaScript dans les années à venir.
Pourquoi ? Parce que le constat de son auteur est assez convaincant : Nous venons de passer de “les ordinateurs et les navigateurs web sont de plus en plus puissants” à “les applications web sont déployées sur des machines de moins en moins puissantes (objets connectés…)” sans nous en rendre compte. Et les outils à notre disposition aujourd’hui (React, Angular…) ont grandement amélioré la qualité et l’efficacité du développement de nos applications, mais pas forcément autant leur performance ou la taille des fichiers finaux.
Ainsi, pour adresser ce nouveau problème, Svelte compile le code d’entrée, en un code JavaScript “vanilla”, qui comprend les instructions JavaScript les plus simples et directes pour créer et mettre à jour le DOM, plutôt que de passer par une approche type Virtual DOM pendant l’exécution du code. Ce qui rend Svelte incroyablement performant (quasi optimal théoriquement, pour les vues), et léger (en particulier avec très peu de code issu de Svelte lui-même dans les fichiers finaux).
Mais alors : - Comment ça fonctionne, Svelte ? Et en pratique, développer avec, ça donne quoi ? - Comment ça intéragit avec les autres outils que nous maitrisons déjà ? - Enfin, maintenant que de nouvelles portes sont ouvertes, n’y aurait-il pas encore mieux à faire ?