Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Bill Fassinou

18PARTAGES

4  0 
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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de defZero
Membre averti https://www.developpez.com
Le 24/10/2019 à 16:59
J’aurais quelques questions pour les dev utilisant cette techno en environnement pro.
  • Est ce que vous l'utilisez côté back directement en prod ou vous utilisez surtout le tooling autour ?
  • En JSVanilla ou est-ce que vous utilisez surtout un langage qui transpile vers JS ?


Merci d'avance
0  0 
Avatar de Engiwip
Membre habitué https://www.developpez.com
Le 14/11/2019 à 12:21
1 a-> utiliser un process manager de type "pm2" qui permet d'acceder à certains metrics ou de démarrer l'appli via un compte systeme , avec des variables d'env ou en mode cluster ...
1 b --> le deploiement peut etre centré autour d un Git flow et scripts Npm , çà permet enormement de souplesse ( realease , patching , snapshot....).

2-> oui babel ... meme si je pense que monter un backend nodeJS ( API , websocket , swagger , graphql ...) écrit en vanilla JS est une mauvaise idée ( voir carrément mort) . Typescript , ts-node permet un bien meilleur controle avant execution . Je grossis le trait mais il y a bien 20% d érreurs evitées rien qu' a la compil / lint
sans compter l'enorme travail de standardisation qu 'amene naturellement l'ecriture de code TS. lorsqu'on bosse en equipe.
0  0