Angular 4 : déjà ?

Angular 4 est déjà disponible. Google demande désormais de parler d’Angular tout court.

Cela crée des sueurs froides chez certain/e/s, mais ce n’est pas justifié : on répond à toutes vos inquiétudes.

« Tout change (encore) avec Angular 4 ? »

Non ! Angular 4, c’est simplement la continuité d’Angular 2, avec quelques nouveautés. Cela n’a rien à voir avec les changements qui ont eu lieu entre Angular 1 et Angular 2.

L’équipe d’Angular a simplement décidé de passer au semantic versioning. C’est un gage de maturité.

« Le 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.

« Cela signifie qu’Angular 4 n’est pas rétro-compatible ? »

Si ! Angular 4 est rétro-compatible.

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é sont internes au framework et ne vous concernent pas. Parfois, cela peut simplement être à cause de dépendances (par exemple pour passer de TypeScript 2.0 à 2.1).

Mais le code de votre projet reste lui complètement inchangé. S’il y a malgré tout des incompatibilités qui vous concernent, elles passent d’abord par une phrase de dépréciation et de signalisation.

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

« Et où est passé Angular 3 ? »

Angular est constitué de plusieurs packages (core, routing, http…). A cause d’imprévus, le module de routing était déjà en version 3.

Pour remédier à cette incohérence et aligner les versions de tous les modules, l’équipe Angular a décidé de sauter la version 3 et de passer directement à Angular 4.

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