Angular - 1.3 Angularjs VS Angular
AngularJS contre Angular : s'il y a une chose qui peut semer la confusion lorsqu'on débute avec Angular, c'est bien la quantité de versions de ce framework. Dans cette leçon, nous allons faire le point sur les différentes versions, voir comment elles s'articulent et déterminer si chaque montée de version entraîne réellement de gros changements. La réponse courte : non, à une exception près.
Tout a commencé avec Angular 1, sorti le 20 octobre 2010. C'était un événement à l'époque, mais cette version souffrait de problèmes de performance dès que les applications grossissaient. Angular 1 est aujourd'hui appelé AngularJS : si vous croisez ce nom sur Reddit, GitHub ou Stack Overflow, sachez qu'il s'agit bien d'Angular 1, totalement différent de l'Angular que vous apprenez dans cette formation.
En effet, entre Angular 1 et Angular 2, il y a eu une réécriture complète du framework. Angular 2 est sorti en 2016, recréé de zéro, avec un fonctionnement qui n'a rien à voir avec son prédécesseur, justement pour corriger les défauts d'AngularJS. Depuis, plusieurs versions se sont enchaînées : Angular 4 (la version 3 a été sautée pour des raisons internes de versionning), puis 5, 6, 7, 8, 9, etc. Aujourd'hui, l'équipe publie une nouvelle version majeure environ tous les six mois.
Pourquoi autant de versions ?
- L'équipe Angular a adopté un calendrier de releases régulier (tous les six mois).
- Les changements sont incrémentaux : optimisations sous le capot, projets plus légers, performances améliorées, nouvelles fonctionnalités.
- Angular est très rétrocompatible : le code écrit en Angular 2 fonctionne, à quelques détails près, dans les versions suivantes.
- Il n'y a donc pas eu de seconde réécriture comme entre AngularJS et Angular 2.
En pratique, on distingue donc deux familles : d'un côté AngularJS (Angular 1), un framework à part, et de l'autre Angular, qui regroupe toutes les versions à partir d'Angular 2. On parle simplement « d'Angular » sans préciser le numéro, car la syntaxe et le fonctionnement général varient très peu d'une version à l'autre. Cette formation traite d'Angular dans sa version récente, et tout ce que vous y apprendrez restera valable dans les versions qui suivront.
En résumé
Cette leçon explique les différences fondamentales entre AngularJS (Angular 1, sorti en 2010) et Angular (version 2+, sortie en 2016). AngularJS a été complètement réécrit en Angular 2 pour corriger des problèmes de performance et d'architecture. Depuis Angular 2, de nouvelles versions sont publiées tous les 6 mois, mais sans modifications majeures du framework — seulement des améliorations progressives de performance et de nouvelles fonctionnalités rétrocompatibles.
Points clés
- AngularJS (Angular 1) et Angular (2+) sont deux frameworks fondamentalement différents : Angular 2 a été entièrement réécrit en 2016
- Les versions successives d'Angular (3, 4, 5, 6, 7, 8, 9...) suivent un cycle de 6 mois, mais ne sont pas des réécritures — seulement des améliorations progressives
- Depuis Angular 2, la syntaxe et le fonctionnement global du framework restent similaires, avec peu de changements rétrocompatibles
- Angular 1 présentait des problèmes de performance sur les applications de grande taille, d'où la refonte complète en Angular 2
- La formation traite uniquement Angular moderne (version 2+), pas AngularJS, qui est un framework distinct
Questions fréquentes
Pourquoi dire 'Angular' et non 'Angular 9' ou 'Angular 10' ?
Parce que depuis Angular 2, le framework suit un cycle de versioning avec une nouvelle version tous les 6 mois. Les améliorations entre versions successives étant mineures et rétrocompatibles, on utilise simplement le terme 'Angular' pour désigner l'ensemble des versions 2+, sans préciser le numéro qui change constamment.
Y a-t-il de grandes différences entre Angular 2 et Angular 9 ?
Non. Angular 9 est quasiment identique à Angular 2 au niveau de la syntaxe et du fonctionnement. Les changements sont principalement des optimisations de performance et l'ajout de nouvelles fonctionnalités, sans modification majeure du framework lui-même.
AngularJS est-il encore utilisé aujourd'hui ?
AngularJS (Angular 1) est un framework distinct qui a ses propres usages, mais cette formation traite uniquement Angular moderne (version 2+). Quand vous voyez le terme 'AngularJS' sur Reddit, GitHub ou Stack Overflow, il désigne Angular 1, un framework complètement différent.