Initialement demandé: Quelle est la différence entre la branche 4.x de Node.js avec LTS (support à long terme) et la branche 5.x (répertoriée comme stable)?
Mais ceci est également pertinent pour comprendre la différence entre 6.x et 7.x et, à l'avenir, 8.x et 9.x
En général, je me tourne toujours vers la dernière version en termes de fonctionnalités et de performances (car je travaille maintenant beaucoup sur ES6/ES7). Existe-t-il des informations sur l'état de préparation de la production des branches "stables"?
Pour comprendre la différence, vous devez comprendre pourquoi une version du support à long terme (LTS) de Node) existe.
Node LTS est principalement destiné à une utilisation en entreprise, où il peut y avoir une plus grande résistance aux mises à jour fréquentes, aux procédures d'approvisionnement étendues et aux exigences de test et de qualité longues.
De Rod Vagg, membre du groupe de travail LTS Node):
L’établissement d’un plan LTS pour Node) consiste à s’appuyer sur un cycle de publication stable existant pour fournir de nouvelles versions selon un calendrier prévisible avec un cycle de vie de support étendu clairement défini. Cela semble aller à l’encontre de la tradition open source de "publication anticipée, publication fréquente", c’est une exigence essentielle pour les équipes de développement et d’application d’applications d’entreprise, ainsi que pour les entreprises qui fournissent un support professionnel à Node.js.
https://medium.com/@nodesource/essential-steps-long-term-support-for-node-js-8ecf7514dbd#.za353bn08
Le message officiel Node mentionné dans l'un des commentaires explique également très bien ceci:
https://nodejs.org/en/blog/community/node-v5/
Il est parfois mal compris que les versions de numéro de version impaires (v5, v7) constituent une "version bêta" de la prochaine version de LTS. Ceci est une convention utilisée dans un autre projet mais pas dans Node et est quelque peu trompeur. En fait, la prochaine version de LTS est choisie dans une version ponctuelle de la version actuelle, et ce sera généralement une version à version paire (v6, v8). Ce n’est pas que les dernières versions sont des versions bêta, mais bien que les versions LTS répondent à un besoin spécifique de certaines organisations.
Pour un point de référence, consultez les versions de l'assistance étendue de Firefox ( https://www.mozilla.org/en-US/firefox/organizations/faq/ ) ou les versions de LTS d'Ubuntu ( https : //wiki.ubuntu.com/LTS ). Je ne pense pas que quiconque ait suggéré que la dernière version de Firefox était une version bêta et que la plupart des utilisateurs devraient s'en tenir aux anciennes versions d'ERS.
Généralement, si vous êtes capable de suivre les dernières versions stables et futures Node est disponible, vous devriez le faire. Celles-ci sont stables et prêtes pour la production versions avec un excellent support de la communauté.Les fonctionnalités instables et expérimentales sont conservées derrière les indicateurs de construction et d'exécution et ne devraient pas affecter vos opérations quotidiennes.
En général, je me tourne toujours vers la dernière version en termes de fonctionnalités et de performances (comme je le fais maintenant avec ES6/ES7)
Cela me suggèrerait que les versions stables et au-delà conviendraient bien à vos besoins. Cela vous donnera accès aux dernières et meilleures fonctionnalités linguistiques fournies par le moteur JavaScript sous-jacent (V8 ou Chakra).
Remarque: une différence significative entre v4 (et les versions antérieures) et v5 est que v4 est livré avec npm v2 alors que v5 est livré avec npm v3. La v3 de npm a des modifications potentiellement décisives pour votre projet dans la façon dont il gère peerDependancies. La façon dont npm v3 tente maintenant d’installer des dépendances aussi dépourvues que possible et d’éviter les doublons peut affecter vos projets, mais a été une grande aubaine pour les utilisateurs Windows, ce qui pourrait également avoir une incidence sur votre prise de décision.
La version 4.x est la version actuellement prise en charge, similaire à une version de production. La version 5.0 est stable, mais il s’agit de la version à venir en mutation et doit être traitée comme c’est une version bêta ou candidate à la publication. En tant que tel, vous ne voyez pas actuellement la version 5.0 en tant qu'option dans des domaines comme Amazon Elastic Beanstalk.
Une fois qu'une ligne de version stable devient LTS, aucune nouvelle fonctionnalité ou modification importante ne sera ajoutée à cette version.
Actuel : En développement actif. Le code de la version actuelle se trouve dans la branche pour son numéro de version principal (par exemple, v10.x ). Node.js publie une nouvelle version majeure tous les 6 mois, permettant des modifications radicales. Cela se produit en avril et en octobre chaque année. Les sorties apparaissant chaque octobre ont une durée de vie de 8 mois. Les communiqués paraissant chaque mois d’avril sont convertis en LTS (voir ci-dessous) chaque mois d’octobre.
[~ # ~] lts [~ # ~] : Communiqués bénéficiant d'un support à long terme, axés sur la stabilité et la sécurité. Chaque version majeure à numéro pair deviendra une version LTS. Les versions LTS reçoivent 18 mois de LTS actif support et 12 mois supplémentaires de Maintenance. Les lignes de version de LTS ont des noms de code ordonnés par ordre alphabétique, commençant par v4 Argon. Il n'y a pas de modifications majeures ni d'ajouts de fonctionnalités, sauf circonstances particulières.