Parmi les nombreux frameworks JavaScript, AngularJS est indéniablement celui qui a connu le plus de succès. Mis en ligne en 2010 et avec une première version publiée en 2012, Angular n’a eu de cesse de s’améliorer avec une communauté croissante, des besoins qui évoluent et une équipe de développement soutenue par Google. Et puis l’an dernier, tout a changé…

Oubliez Angular 3, voici la version 4

AngularJS devient Angular 2

AngularJS devient Angular 2

Les annonces autour de la nouvelle version majeure d’AngularJS, désormais appelée Angular 2, surprennent. C’est en fait un nouveau framework qui se profile, une nouvelle approche, une nouvelle manière de penser. Et évidemment cette nouvelle version n’est pas rétro-compatible avec la précédente… Nous n’entrerons pas ici dans les détails qui ont poussé l’équipe a totalement ré-écrire le framework, mais une chose est sûre, un projet en AngularJS n’est pas directement transposable en Angular 2 sans un effort de développement, voire parfois une remise à zéro du projet. Ce qui n’est pas sans poser des problèmes.

 

Pas de version 3 pour Angular

La sortie de la première version officielle d’Angular 2 date seulement du 14 septembre 2016, et à peine remis de nos émotions, nous apprenons en décembre qu’une nouvelle version majeure va voir le jour. Angular 3 donc ? Encore un changement radical, une perte de la capitalisation de connaissances, une remise en question totale et un changement de paradigme ? Non. Et non.

En fait, il va s’agir d’Angular 4. Oui oui, on oublie la version 3. En réalité, il y a déjà une version 3, puisque le module ‘router’ est en 3.x depuis quelque temps. De manière à éviter toute confusion (notamment dans les paquets NPM), la nouvelle version du framework sera la version 4.

 

Code Angular 2

 

Promesse de l’équipe de développement : cette fois-ci il n’y aura pas de breaking changes, la nouvelle version sera rétrocompatible avec la 2. C’est une promesse, reste à voir si elle va être tenue ! Pour le moment, les premières versions bêta (4.0.0-beta.4 au 19 janvier 2017) laissent supposer que les changements sont en effet de l’ordre de la mise à jour et de l’optimisation, mais pas de la ré-écriture complète. Plutôt rassurant…

Angular : bilan de la version 4

S’il est bien entendu encore trop tôt pour juger de l’adhésion de la communauté à cette nouvelle version prévue en mars prochain, il est certain que certains points ne peuvent pas être ignorés. Le changement majeur entre AngularJS et la version 2, revenant à en faire deux frameworks totalement différents ne contribue-t-il pas à créer une forme de défiance des clients finaux, frileux à l’idée d’intégrer un framework capable de changer du tout au tout en quelques mois ?

Et maintenant que l’on parle d’une nouvelle version majeure, sera-t-il réellement aisé de convaincre les décideurs du bien-fondé d’une telle démarche de mise à jour ? Si l’on sait déjà que les changements de version correspondent à de réelles améliorations visant à rendre l’outil toujours plus robuste et adapté aux usages actuels, il n’en reste pas moins nécessaire de garder en tête les conséquences en termes de marketing et d’adhésion de la communauté.

Illustration numérotation des versions

Ce qui est certain pour le moment, c’est que le planning des prochaines versions d’Angular est d’ores et déjà en place :

  • Les patchs seront publiés toutes les semaines
  • Des versions mineures seront publiées tous les mois
  • Les versions majeures (et rétro-compatibles) seront publiées tous les 6 mois, soit :
    • Angular 4 – Mars 2017
    • Angular 5 – Octobre 2017
    • Angular 6 – Mars 2018
    • Angular 7 – Octobre 2018

À noter que les deux frameworks AngularJS et Angular 2 ont chacun un site et une documentation, bien séparés : angularjs.org pour AngularJS et angular.io pour Angular 2+.