Blog Zenika

#CodeTheWorld

ÉvénementsOpen sourceWeb

De retour de Vue.js Amsterdam 2020

Les 21 et 22 février s’est déroulée la troisième édition du Vue.js Amsterdam, un événement majeur dédié au framework Vue.js et sa communauté. Il aura accueilli près de 1200 participants provenant du monde entier et partageant le même enthousiasme pour Vue.js. Nous avons (Thomas BetousJimmy Kasprzak et Yann Bertrand – consultants nantais) eu la chance de pouvoir y assister).

Ces deux jours ont été l’occasion d’échanger autour de Vue.js, mais aussi de pouvoir écouter et rencontrer près de 30 speakers internationaux, aussi bien développeurs, formateurs que membres de la core team. Parmi eux, Evan You (créateur de Vue.js), Sébastien Chopin (co-créateur de Nuxt) ou encore Gregg Pollack (formateur et fondateur de VueMastery) et bien d’autres.

L’attente cette année était particulièrement tournée vers Vue 3, une nouvelle version majeure du framework, qui doit apporter son lot de nouveautés promettant performance, efficacité, confort d’utilisation et plus encore.

État de santé de Vue.js

La conférence s’est ouverte avec Evan You en personne, créateur de Vue.js. Il s’est posé comme un orateur simple et agréable à écouter, basculant entre explication et démo technique. Nous avons d’abord eu droit à un état des lieux de Vue.js. Nous avons ainsi pu comprendre la démarche engagée par la Core Team. De la communication à base de RFC jusqu’aux expérimentations et optimisations. Un travail open source impressionnant et de longue haleine. Comme chaque année, Evan était surpris de l’engouement grandissant autour de son travail, de son équipe et en général de toute la communauté. En quelques chiffres :

  • ~ 5.4 millions de téléchargements par mois sur NPM (+ 2 millions par rapport à l’année précédente)
  • ~ 1 million de développeurs actifs par semaine (chiffre basé sur les devtools)
  • un taux de satisfaction très bon dans les sondages StateofJS (87 %) et StackOverflow (73 %)

Vue 3 ?

Après ce bref retour sur les chiffres, l’objectif de 2020 a été clairement annoncé : “Passer Vue 3 d’état de prototype à utilisable en production”. Bien que n’ayant pas encore de date de sortie fixe, Evan nous a annoncé une première beta de Vue 3 dans les prochaines semaines, pour une release stable prévue deuxième trimestre de 2020.

Une grande majorité des présentations que nous avons suivies ont traitées de nouveautés incluses dans Vue 3. Nous ne reviendrons pas sur chacune d’entre elles mais allons vous résumer les grands points qu’il fallait retenir.

Composition API

Point brûlant de la nouvelle version de Vue : la Composition API. Elle nous fournit une façon nouvelle d’écrire nos composants. Celle-ci a été LE point d’attention de nombreux talks avec exemples, bonnes pratiques et retours. Sa raison d’être : nous aider à organiser les fonctionnalités  de notre application. Comment ? En nous fournissant une api qui nous permet d’encapsuler TOUT le code associé à une fonctionnalité à un seul endroit. 

L’idée est d’éviter les composants trop gros et difficiles à maintenir et de réutiliser facilement de la logique d’un composant à un autre.

Nous avons eu droit à des exemples très intéressants avec notamment Filip Rakowski, co-fondateur de VueStoreFront, et l’utilisation de l’api de composition pour externaliser et centraliser la gestion des paniers sur un site e-commerce.

Pour plus d’information sur le sujet, nous vous conseillons l’excellente vidéo d’introduction de Gregg Pollack. Son talk “Introduction into the Composition API” reprenait une partie de cette vidéo et est une très bonne introduction sur l’api de composition.

Optimisations

Beaucoup de travail a été réalisé pour optimiser le framework, tant en termes de performances qu’en termes de poids. Ce travail correspond à l’un des points d’or de Vue 3, expliqué en détail dans les présentations d’Evan You et de Rahul Kadyan. Cette version sera plus légère et réalisera moins d’opérations inutiles. De plus, la volonté est de laisser la possibilité de customiser le processus de compilation. Rahul Kadyan présentait par exemple la suppression des attributs `data-test` à la compilation ou encore ajouter automatiquement des informations dans le header html.

Un autre exemple était celui d’Evan You sur le static tree hosting. Le nouveau compilateur est capable de faire la distinction entre noeuds dynamiques et statiques, pour ne se brancher que sur les premiers afin d’optimiser la détection de changements. Dans certain cas on peut s’attendre à des performances jusqu’à 3X supérieurs à Vue 2.

À noter l’existence d’un compilateur en ligne permettant de voir comment un template est compilé dans Vue 3.

Support de Typescript

Le code source de cette nouvelle version a été entièrement réécrit en TypeScript, ce qui améliore la qualité du code et facilite les nouvelles contributions. Il sera également beaucoup plus simple d’écrire des applications Vue avec TypeScript. Il restera évidemment possible de profiter de Vue avec du JavaScript classique.

Et plus encore…

De nombreuses fonctionnalités de Vue 3 ont été présentées. Il serait difficile de toutes les citer ! Sachez cependant que vous pouvez toutes les trouver dans la RFC. Parmi ces features : les fragments, le suspense ou encore les portals.

Et l’écosystème ?

Au-delà de Vue.js, il existe également tout un écosystème Open Source extrêmement actif. Vue.js Amsterdam était l’occasion pour les personnes les plus actives de la communauté de partager leurs nouveautés, leurs réussites et pour certaines leurs difficultés.

Nuxt, une réussite Française à l’international

Cocorico ! Pour la troisième année consécutive, Sébastien Chopin a pu présenter l’actualité de ce framework permettant de faire du Server-Side Rendering (SSR). La plus grosse nouvelle : la création d’une entreprise à l’aide d’une levée de fonds de 2 millions de dollars. Voilà qui promet de beaux jours dans le développement de Nuxt.

Côté technique, réputé pour le SSR Nuxt pousse encore plus loin sur la génération statique. La génération statique permet, outre ses avantages en termes de performance, de déployer très simplement sur des plateformes telles que Netlify. L’équipe de Sébastien se tient prête pour un Nuxt 3 dès la sortie de Vue 3.

Vue test utils, une roadmap ambitieuse

Mi-décembre 2019, 4 nouveaux contributeurs ont repris le projet. Leur volonté : redresser la barre pour être prêt à sortir une v1 dès la première version stable de Vue 3.

Pour y parvenir, plusieurs chantiers sont en préparation :

  • Migrer de Flow vers TypeScript
  • Supporter Vue 2, Vue 3 et la composition API
  • Améliorer la documentation

Nous avons trouvé rassurant de voir ces sujets adressés qui étaient jusqu’à maintenant un peu restés en arrière dans l’écosystème Vue, surtout comparé à ses principaux concurrents Angular et React.

Vuetify, Vuelidate, VueX, Vue CLI UI, TDD…

En plus des présentations « officielles » des membres de la Core Team, il était très intéressant de voir l’espace laissé à la communauté.

Parmi les évolutions prometteuses, Vuetify et Vuelidate semblent avoir pris le pas de l’« aire de la composition ». Vuelidate a été entièrement réécrit afin de profiter des nouveautés comme l’api composition et réduire la taille du package final. Il a également été présenté un nouveau projet pour la gestion de formulaires dynamiques. Quant à Vuetify, les contributeurs ont travaillé dur pour améliorer l’accessibilité et les performances de leurs composants.

Côté VueX, on note l’excellente présentation de Natalia Tepluhina : « You might not need VueX ». Suivi de manière cocasse par « VueX ORM – Relational data management in Vue ». Enchaînement pris avec humour par le second speaker Kia King.

Un grand bravo à Sarah Dayan pour son sujet “Test-Driven Development with Vue.js”. Les présentations sur le TDD ne manquent pas, et pourtant, de par son énergie, sa qualité de présentation et son live-coding, son talk sort du lot et on vous conseille de le visionner dès que possible.

Enfin, nous avons aussi eu l’annonce de GuiJS par Guillaume Chau, un outil permettant la gestion des projets Javascript avec une interface graphique.

Conclusion

Vue.js Amsterdam fut une expérience inoubliable pour nous. Un grand merci aux orgas, aux speakers et à toutes les personnes qui ont rendu l’événement possible !

Au-delà des sujets purement techniques, certains speakers ont fait le choix de donner leur vision du futur : un web accessible, écologique, serverless, construit par des équipes internationales dans un esprit bienveillant. 

Les speakers étaient très accessibles, on passe sur scène pour rejoindre la salle de pause, imprévus divers… Certains pourraient y voir un manque de professionnalisme, mais nous avons trouvé cela plus amusant qu’autre chose. On se sent comme dans un meetup local, mais dans un cinéma avec plus de 1000 personnes dans la salle, dont beaucoup de grands noms de la communauté. 

Seul regret pour nous : la fin de l’événement. Nous avons dû partir un peu avant l’after party pour des raisons logistiques et avons raté Evan You lancer un karaoké sur scène en interprétant Eminem.

Malgré tout, on peut conclure très simplement : on a adoré et on y retournera !

Thomas Betous, Jimmy Kasprzak et Yann Bertrand

En apprendre plus sur Vue

Auteurs/autrices

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.