Angular 4 & Angular 5 : déjà ?

Angular 4 est disponible depuis quelques mois et Angular 5 sera disponible en septembre/octobre 2017.

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 ? 8. De React ? 15, et cela n’inquiète personne. De Chrome ? 60, et au moment où vous lirez ces lignes cela aura peut-être 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.

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

Angular 4 et Angular 5 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.

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

Découvrez notre formation Angular 4, la première en France !