Angular 4, Angular 5 & Angular 6 : déjà ?

Angular 4 est disponible depuis le printemps 2017, Angular 5 depuis le 1er novembre 2017 et Angular 6 depuis le 3 mai 2018.

Cela crée des sueurs froides chez certain/e/s, mais ce n’est pas justifié : savez-vous quelle est la version actuelle de Node ? 10. De React ? 16, et cela n’inquiète personne. De Chrome ? 66, et au moment où vous lirez ces lignes cela aura déjà augmenté.

Voici quelques explications pour dissiper vos inquiétudes.

L’histoire : AngularJS vs Angular

Google a fait une erreur marketing : vouloir garder le même nom alors que l’outil était entièrement refondu. Du coup, il a d’abord fallu parler d’Angular 2 pour bien distinguer la première version et la nouvelle. Les gens s’y sont habitués, et désormais beaucoup de personnes ne comprennent pas pourquoi on passe déjà à Angular 4 et suivants.

Mais c’est tout à fait normal : l’équipe d’Angular a simplement décidé de passer au semantic versioning. C’est un gage de maturité.

Angular 4 = Angular 2, avec quelques nouveautés.

Angular 5 = Angular 4, avec quelques nouveautés.

Angular 6 = Angular 5, avec quelques nouveautés.

Google demande désormais de parler d’Angular tout court, et d’AngularJS pour la première version.

Angular & semantic versioning

Vous connaissez forcément le semantic versioning, mais peut-être sans le savoir. C’est une convention pour la mise à jour des numéros de version d’une librairie : MAJOR.MINOR.PATCH. Par exemple : Angular 2.4.1.

Concrètement, les numéros doivent être incrémentés selon les règles suivantes :

  • PATCH : correctifs de bugs (donc rétro-compatible) > 2.4.2.
  • MINOR : nouvelles fonctionnalités rétro-compatibles > 2.5.0.
  • MAJOR : la moindre cassure de rétro-compatibilité > 3.0.0.

C’est la norme aujourd’hui, et (presque) tous les outils respectent cette convention. npm, avec lequel s’installent aujourd’hui tous les outils JavaScript, est entièrement basé sur le semver.

Rétro-compatibilité Angular 4, 5 & 6

Angular 4, Angular 5 et Angular 6 sont rétro-compatibles.

Quand on respecte le semver, la mise à jour d’une seule ligne de code peut signifier un changement MAJOR, même si 99,99% de l’outil reste inchangé.

La grande majorité des cassures de rétro-compatibilité ne vous concernent pas : elles sont internes au framework. Le code de votre projet reste lui complètement inchangé.

Très concrètement : l’application que nous développons dans notre formation Angular 2 fonctionne aussi sans aucun souci avec Angular 4, Angular 5 & Angular 6.

Et vous n’aurez pas besoin de suivre une nouvelle formation. Mieux : on vous tient informé/e des mises à jour avec notre changelog Angular.

Long Term Support et migration automatique

Lorsqu’une nouvelle version majeure est disponible, la précédente reste en Long Term Support (LTS) pendant 1 an. Cela vous laisse donc largement le temps pour réaliser la migration, d’autant plus que cette migration est simple, en raison de ce que nous venons de vous expliquer.

Par ailleurs, les migrations sont désormais complètement automatisées avec la commande ng update.

Découvrez notre formation Angular, déjà à jour avec la version 6 !