En bref : il n’y a qu’un seul framework Angular. La question des versions n’a pas de sens et résulte juste d’une confusion.
Historique des versions d’Angular
Angular sort une nouvelle version majeure tous les 6 mois environ :
- Angular 2 est sorti en septembre 2016,
- Angular 4 en mars 2017,
- Angular 5 en novembre 2017,
- Angular 6 en mai 2018,
- Angular 7 en octobre 2018,
- Angular 8 en mai 2019,
- Angular 9 en février 2020,
- Angular 10 en juin 2020,
- Angular 11 en novembre 2020,
- Angular 12 en mai 2021,
- Angular 13 en novembre 2021,
- Angular 14 en juin 2022,
- Angular 15 en novembre 2022,
- Angular 16 en mai 2023.
Cela crée des sueurs froides chez certains, mais ce n’est pas justifié : savez-vous quelle est la version actuelle de Node ? 20. De Firefox ? 112. Cela aura probablement déjà augmenté au moment où vous lirez ces lignes. Et cela n’inquiète personne, car c’est normal. Même Java a désormais adopté une fréquence de release tous les 6 mois.
Voici quelques explications pour dissiper vos inquiétudes.
Le problème : AngularJS vs Angular
Google a simplement fait une erreur de communication, en voulant garder le même nom qu’AngularJS (v1), alors que le nouvel Angular est en réalité un framework différent.
Du coup, il a d’abord fallu parler d’Angular 2 explicitement, pour bien distinguer la première version et la nouvelle. Les gens s’y sont habitués, et maintenant ne comprennent pas pourquoi nous en sommes déjà à Angular 16.
Mais c’est tout à fait normal : c’est le fonctionnement normal du semantic versioning que tout le monde utilise :
- Angular 4 = Angular 2, avec quelques nouveautés.
- Angular 5 = Angular 4, avec quelques nouveautés.
- Angular 6 = Angular 5, avec quelques nouveautés.
- etc.
- Angular 14 = Angular 13, avec quelques nouveautés,
- Angular 15 = Angular 14, avec quelques nouveautés,
- Angular 16 = Angular 15, avec quelques nouveautés.
Google demande désormais de parler d’Angular tout court, et d’AngularJS pour la première version.
Rétro-compatibilité Angular
Angular 2 à 16 sont donc rétro-compatibles.
Quand on respecte le semver, la mise à jour d’une seule ligne de code peut signifier un changement majeur, même si 99,99% de l’outil reste inchangé. Mieux : la plupart du temps, cela ne vous concerne pas. Les changements sont internes au framework, le code de votre projet reste inchangé.
Très concrètement : l’application que nous développons dans la formation Angular fonctionne sans aucun souci avec Angular 2 à 16.
Vous n’aurez donc pas non plus besoin de suivre une nouvelle formation pour les versions ultérieures d’Angular.
Long Term Support et mise à jour automatique
Même si elles sont injustifiées, Google a tenu à répondre à ces inquiétudes.
D’abord, lorsqu’une nouvelle version majeure est disponible, la précédente reste en Long Term Support (LTS) pendant 1 an et demi. Il n’y a donc jamais d’urgence à mettre à jour.
Ensuite, les mises à jour sont désormais complètement automatisées. Pour exemple, cela prend seulement quelques minutes de passer d’Angular 6 à 16 avec la commande ng update
.