La version 13.0.0 de Node.js est publiée avec de nouvelles fonctionnalités et améliorations
Node.js 12.x est devenue la nouvelle version LTS
L’équipe de développement de Node.js a publié cette semaine la version 13.0.0 du moteur d'exécution JavaScript multiplateforme. La version 13.0.0 apporte de nouvelles fonctionnalités et améliorations au moteur JavaScript, notamment un démarrage plus rapide et de meilleures limites de tas par défaut, des mises à jour de V8, TLS, llhttp, de nouvelles fonctionnalités dont le rapport de diagnostic, la capacité de vidage de tas et des mises à jour de Worker Threads, N-API, et plus. En marge de ceci, la version 12 est devenue la nouvelle version LTS.
Node.js 13 est la version actuelle du moteur d’exécution JavaScript. Elle ne sera pas promue au LTS, l’équipe ne recommande donc pas son utilisation en production. Par contre, vous pouvez tester vos applications et construire vos paquets sur cette version périodiquement. Ainsi, vous pourrez expérimenter les dernières fonctionnalités, et lorsque la version 14 arrivera, vous aurez moins de choses à rattraper en ce qui concerne les nouveautés. Que contient Node.js 13.0.0 et pourquoi l'utiliser ? Voici un aperçu des nouvelles fonctionnalités et améliorations qu’elle contient.
Mise à jour du moteur V8 vers la version V8 7.8
La version 7.8 du moteur JavaScript V8 apporte des performances améliorées et de nouvelles fonctionnalités linguistiques. V8 7.8 apporte des améliorations et des mises au point en matière de performances, tout en maintenant Node.js à jour avec les améliorations continues du langage et du runtime. Ces améliorations incluent une destruction plus rapide des objets, les positions sources paresseuses (lazy source positions), l’échec plus rapide des expressions régulières RegExp, un support officiel de l’API WebAssembly C/C ++, et bien d’autres encore.
L'ICU complète est activée par défaut
Node.js supporte maintenant un plus grand nombre de langues par défaut. L'internationalisation via les composants internationaux pour Unicode (ICU) est supportée par Node.js depuis longtemps. Il aide les développeurs à écrire du code qui peut prendre en charge des utilisateurs dans plusieurs langues et paramètres régionaux. Jusqu'à Node.js 13 cependant, seul l'anglais était activé par défaut. Cela signifie que pour de nombreux déploiements, les développeurs ont dû passer par des étapes supplémentaires nécessaires pour obtenir et activer le support des paramètres régionaux cibles.
Mais désormais, à partir de Node.js 13.0.0, la prise en charge complète pour ICU est fournie par défaut. La valeur par défaut est désormais full-icu, ce qui signifie que des centaines de paramètres régionaux sont pris en charge immédiatement. Cela devrait simplifier le développement et le déploiement d'applications pour des déploiements non anglais.
Les API Workers sont désormais stables
« Worker Threads » est maintenant une fonctionnalité stable dans Node.js 12 et 13. Bien que Node.js fonctionne déjà bien avec la boucle d'événements à thread unique, il existe des cas d'utilisation où des threads supplémentaires peuvent être utilisés pour de meilleurs résultats. Le module worker_threads permet d'utiliser des threads qui exécutent JavaScript en parallèle. Les workers servent à effectuer des opérations JavaScript gourmandes en CPU.
Notons que les Web Workers sont un mécanisme grâce auquel les instructions d'un script peuvent être exécutées dans un thread en arrière-plan séparé du thread d'exécution principal d'une application Web. Cela a pour avantage qu'un traitement laborieux peut être réalisé dans un thread séparé, permettant alors au thread principal (généralement l'interface utilisateur) de fonctionner sans blocage ni ralentissement. Les données sont envoyées entre les workers et le thread principal au moyen d'un système de messages.
Ces fonctionnalités font partie des fonctionnalités les plus mises en avant dans la version 13.0.0 de Node.js. Cette version comporte également d’autres fonctionnalités et améliorations qui sont abordées dans la note de version. Dans Node.js 13.0.0, les consoles de sortie console.timeEnd() et console.timeLog() vont maintenant automatiquement sélectionner une unité de temps appropriée au lieu de toujours utiliser les millisecondes. Avec la sortie de Node.js 13.0.0, la version minimale de Xcode supportée pour macOS a été augmentée à 10.
Il est encore possible de construire Node.js avec Xcode 8, mais ce ne sera peut-être plus le cas dans une prochaine itération de Node.js v13.x. La publication de Node.js 13.0.0 est suivie du passage de Node.js 12 en version LTS (Long Time Support) avec Node.js 10 et 8. La branche 12.x passe maintenant dans “Active LTS” et le restera jusqu'en octobre 2020. Après cette date, elle passera dans “Maintenance” jusqu'à la fin de sa vie utile, en avril 2022. Autre chose, Node.js 8 arrivera en fin de vie en décembre (une exception au cycle LTS régulier en raison de la fin de vie d'OpenSSL 1.02).
L’équipe de développement de Node.js vous invite donc à commencer à planifier votre migration vers Node.js 10 ou 12. La version 13 de Node.js ne sera pas promue en LTS, il n’est donc pas conseillé de l’utiliser en utilisation en production. Néanmoins, vous pourrez expérimenter les fonctionnalités qu’elle apporte, et lorsque la version 14 arrivera, vous aurez moins de choses à rattraper en ce qui concerne les nouveautés.
Sources : Node.js, GitHub
Et vous ?
Qu'en pensez-vous ?
Voir aussi
V8, le moteur JavaScript de Google, est désormais plus léger avec 22 % de charge de mémoire en moins
Le moteur de JavaScript V8 de Chrome bénéficie d'un lot d'améliorations afin de le rendre plus rapide et moins lourd
LEONARDI Application Suite V8.6 et V8.7 : le player W4 Android permet aux terminaux mobiles d'interagir avec les applications métiers
Partager