Dévoilée à la mi-juillet, la version 4.0 de Nuxt propose son lot de mises à jour et de fonctionnalités supplémentaires. Selon les auteurs du projet, l’objectif principal du framework de développement web open source pour l’écriture de composants Vue est de fluidifier l’expérience de programmation.
Parmi les progrès, Nuxt 4.0 améliore la prise en charge de TypeScript grâce à une séparation par projet entre les différents contextes d'un projet : « code d'application, code serveur, dossier shared/ et configuration », a indiqué Daniel Roe, responsable de l'équipe principale de Nuxt. « Ces optimisations devraient se traduire par une meilleure saisie automatique, une inférence de type plus précise et moins d'erreurs prêtant à confusion lorsque l'on travaille dans différents contextes », aujoute-t-il.
Par ailleurs, le framework modifie la manière dont les projets sont organisés. Désormais, le code de l'application se trouve par défaut dans un répertoire app/, ce qui permet de séparer le code de node_modules/ et .git/. Cette séparation accélère les file watchers, en particulier sous Windows et Linux et l'IDE dispose également d’un meilleur contexte pour savoir si un développeur travaille avec du code client ou serveur. Les modèles d'interface utilisateur mis à jour ont quant à eux un tout nouveau look, avec une accessibilité améliorée, des titres par défaut et des modèles plus raffinés.
Un travail sur la couche des données et une fluidité dans la mise à jour
Nuxt 4.0 met aussi en avant ce que Daniel Roe décrit comme une récupération de données plus intelligente. Dans le cadre de cette initiative, useAsyncData et useFetch ont été améliorés. Plusieurs composants utilisant la même clé partagent à présent automatiquement les données. De plus, le framework effectue désormais un nettoyage automatique lorsque les composants sont démontés, et les développeurs peuvent utiliser des clés réactives pour récupérer à nouveau les données si nécessaire. Les codeurs ont par ailleurs plus de contrôle sur le moment où les données mises en cache sont utilisées. Les mainteneurs de Nuxt prévoient de poursuivre leur travail sur cette couche de données.
Parallèlement à Nuxt 4.0, la communauté a travaillé à l'accélération de @nuxt/cli. « Le démarrage plus rapide du serveur de développement, la réutilisation automatique du cache de compilation V8, la surveillance native des fichiers fs.watch et la communication basée sur des sockets entre la CLI et le serveur de développement Vite font une différence vraiment notable dans l'expérience de développement quotidienne », a fait remarquer M. Roe.
Enfin, ce dernier souligne que l'un des principaux objectifs de la version Nuxt 4.0 était de garantir que la mise à niveau se fasse de la manière la plus fluide possible. La plupart des changements majeurs ont pu être testés avec un indicateur de compatibilité pendant plus d'un an. Selon lui, la plupart des projets devraient pouvoir être mis à niveau sans difficulté, mais il reconnait qu'il y a quelques points à prendre en compte :
- La compatibilité avec Nuxt 2 a été supprimée de @nuxt/kit, ce qui affectera particulièrement les auteurs de modules.
- Certains utilitaires hérités et certaines fonctionnalités obsolètes ont été supprimés.
- La nouvelle configuration TypeScript pourrait faire apparaître certains problèmes de type qui étaient auparavant masqués.
- Certains modules pourraient nécessiter des mises à jour supplémentaires pour être entièrement compatibles avec Nuxt 4.

Commentaire