Angular
Angular (communément appelé « Angular 2+ » ou « Angular v2 et plus ») est un framework pour clients, open source, basé sur TypeScript et codirigé par l'équipe du projet « Angular » chez Google ainsi que par une communauté de particuliers et de sociétés. Angular est une réécriture complète d'AngularJS, cadriciel construit par la même équipe. Il permet la création d’applications Web et plus particulièrement d'applications Web monopages : des applications Web accessibles via une page Web unique qui permet de fluidifier l’expérience utilisateur et d’éviter les chargements de pages à chaque nouvelle action. Le framework est basé sur une architecture du type MVC et permet donc de séparer les données, le visuel et les actions pour une meilleure gestion des responsabilités. Un type d’architecture qui a largement fait ses preuves et qui permet une forte maintenabilité et une amélioration du travail collaboratif.

Différences avec AngularJS 

 Angular n'a pas de notion de « portée » (scope) ou de contrôleurs ; au lieu de cela, il utilise une hiérarchie de composants comme principale caractéristique architecturale
 Angular a une syntaxe d'expression différente, en se concentrant sur les "[ ]" pour la liaison des propriétés, et les "( )" pour la liaison des évènements
 Modularité – beaucoup de fonctionnalités de base ont été déplacées vers des modules
 Angular recommande l'utilisation du langage TypeScript, créé par Microsoft, qui présente les caractéristiques suivantes :
 le principe de classes, à la base de la Programmation Orientée Objet
 le typage statique
 les génériques
 TypeScript est un sur-ensemble d'ECMAScript 6 (ES6) et est rétrocompatible avec ECMAScript 5 (c'est-à-dire JavaScript). Angular comprend également les principes d'ES6 suivants :
les fonctions anonymes
 les itérateurs
 les boucles for-of
 les générateurs dans le style du langage Python 
 la réflexion
 Le chargement dynamique
 La compilation asynchrone des modèles
 Les rappels itératif fournis par RxJS. RxJS limite l'état de visibilité et de débogage mais ces problèmes peuvent être résolus avec add-ons réactifs comme ngReact ou ngrx.

Historique

Nom 
À l'origine, la réécriture d'AngularJS avait été appelée « Angular 2 » par l'équipe mais cela avait conduit à des confusions entre les développeurs. Pour clarifier, l'équipe a annoncé que des termes différents allaient être utilisés pour chaque framework. « AngularJS », se référant aux versions 1.X, et « Angular » (sans le « JS »), en référence aux versions 2 et plus.

Version 2.0.0 
Angular 2.0 est annoncé à la conférence ng-europe 2014, qui s'est déroulée les 22 et  de cette même année. Les changements drastiques dans la version 2.0 ont créé beaucoup de controverses parmi les développeurs. Le , les développeurs d'Angular annoncent que la version 2 passe de la version alpha à la version d'essai pour les développeurs. Angular 2 passe en version bêta en  et la première version candidate à la production est publiée en . La version finale est publiée le .

Version 4.0.0 
Le , Angular 4 a été annoncé ; le saut de la version 3 étant fait pour éviter une confusion en raison de l'absence d'alignement de la version du routeur de paquets qui avait déjà été distribuée en v3.3.0. La version finale a été publiée le . Angular 4 est compatible avec Angular 2.

Angular 4.3 est une version mineure, ce qui signifie qu'il ne contient pas de modifications importantes et que c'est un remplacement direct pour les versions 4.x.x.

Fonctionnalités de la version 4.3 :
 Introduction de HttpClient, bibliothèque plus petite, plus facile à utiliser et plus puissante pour faire des requêtes HTTP ;
 Nouveaux évènements du cycle de vie du routeur pour les Gardes et les Résolveurs. Quatre nouveaux évènements : GuardsCheckStart, GuardsCheckEnd, ResolveStart, ResolveEnd rejoignent l'ensemble des évènements de cycle de vie tels que NavigationStart ;
 Désactivation conditionnelle des animations.

Version 5.0.0 
Angular 5 est sorti le . Des améliorations-clés dans Angular 5 incluent le soutien des applications web progressives, un optimiseur de production et des améliorations liées à Material Design.

Version 6.0.0 
Angular 6 est sorti le . C'est une version majeure permettant de moins mettre l'accent sur le cadre sous-jacent, de plus en plus sur la suite d'outils et de rendre plus facile le passage à Angular dans le futur, avec : 
 ng update, 
 ng add, 
 Angular Elements, 
 Angular Material + CDK Components, 
 Angular Material Starter Components, 
 CLI Workspaces, 
 Library Support, 
 Tree Shakable Providers, 
 Animations Performance Improvements,
 RxJS v6.

Version 7.0.0 

Angular 7 est sorti le .

Version 8.0.0 

Angular 8 est sorti le .

Version 9.0.0 

Angular 9 est sorti le .

 Mise en place du moteur de rendu Ivy.

Version 10.0.0 

Angular 10 est sorti le .

Version 11.0.0 

Angular 11 est sorti le .

Version 12.0.0 

Angular 12 est sorti le .

 IE 11 est déprécié.

Version 13.0.0 

Angular 13 est sorti le .

 Suppression du support d'IE 11.
 View Engine a été supprimé du mode de compilation au profit d'Ivy. Un avertissement est affiché pour les bibliothèques encore sous View Engine (Angular 12 et moins).

Version 14.0.0 
Angular 14 est sorti le .

 Amélioration du support des micro-frontends
 Mise en place des composants autonomes sans ngModule.
 La validation des formulaires est maintenant typable.

Version 15.0.0 
Angular 15 est sorti le .

Version 16.0.0 
Angular 16 est sorti le .

Futures versions 
Chaque version est prévue pour être compatible avec la version antérieure. Google a promis de faire des mises à jour deux fois par année.

Politique de support 
Toutes les versions majeures bénéficient d'une assistance pendant 18 mois. Il s'agit de 6 mois de support actif, au cours desquels des mises à jour et des correctifs sont publiés à intervalles réguliers. Elle est suivie de 12 mois de support à long terme (LTS), au cours desquels seuls les correctifs critiques et les correctifs de sécurité sont publiés.

Notes et références

Annexes

Articles connexes 

 Framework
 JHipster

Liens externes 

 Site officiel

AJAX
Logiciel Google
Logiciel libre sous licence MIT
Angular ( communément appelé « Angular » ou « Angular v2 et plus » ) est un framework pour clients , open source , basé sur TypeScript et codirigé par l' équipe de le projet « Angular » chez Google ainsi que par une communauté de particuliers et de sociétés . Angular est une réécriture complète d' AngularJS , cadriciel construit par la même équipe . Il permet la création d’ applications Web et plus particulièrement d' applications Web monopages \ : de les applications Web accessibles via une page Web unique qui permet de fluidifier l’ expérience utilisateur et d’ éviter les chargements de pages à chaque nouvelle action . Le framework est basé sur une architecture de le type MVC et permet donc de séparer les données , le visuel et les actions pour une meilleure gestion de les responsabilités . Un type d’ architecture qui a largement fait ses preuves et qui permet une forte maintenabilité et une amélioration de le travail collaboratif . Différences avec AngularJS Angular n' a pas de notion de « portée » ( scope ) ou de contrôleurs ; à le lieu de cela , il utilise une hiérarchie de composants comme principale caractéristique architecturale Angular a une syntaxe d' expression différente , en se concentrant sur les " [ ] " pour la liaison de les propriétés , et les " ( ) " pour la liaison de les évènements Modularité – beaucoup de fonctionnalités de base ont été déplacées vers de les modules Angular recommande l' utilisation de le langage TypeScript , créé par Microsoft , qui présente les caractéristiques suivantes \ : le principe de classes , à la base de la Programmation Orientée Objet le typage statique les génériques TypeScript est un sur-ensemble d' ECMAScript( ES6 ) et est rétrocompatible avec ECMAScript( c'est-à-dire JavaScript ) . Angular comprend également les principes d' ES6 suivants \ : les fonctions anonymes les itérateurs les boucles for -of les générateurs dans le style de le langage Python la réflexion Le chargement dynamique La compilation asynchrone de les modèles Les rappels itératif fournis par RxJS . RxJS limite l' état de visibilité et de débogage mais ces problèmes peuvent être résolus avec add -ons réactifs comme ngReact ou ngrx . Historique Nom À l' origine , la réécriture d' AngularJS avait été appelée « Angular » par l' équipe mais cela avait conduit à de les confusions entre les développeurs . Pour clarifier , l' équipe a annoncé que de les termes différents allaient être utilisés pour chaque framework . « AngularJS » , se référant à les versionsX , et « Angular » ( sans le « JS » ) , en référence à les versionset plus . Version0.0 Angular0 est annoncé à la conférence ng-europe qui s' est déroulée leset de cette même année . Les changements drastiques dans la version0 ont créé beaucoup de controverses parmi les développeurs . Le , les développeurs d' Angular annoncent que la versionpasse de la version alpha à la version d' essai pour les développeurs . Angularpasse en version bêta en et la première version candidate à la production est publiée en \ . La version finale est publiée le \ . Version0.0 Le , Angulara été annoncé ; le saut de la versionétant fait pour éviter une confusion en raison de l' absence d' alignement de la version de le routeur de paquets qui avait déjà été distribuée en v3.3.0 . La version finale a été publiée le \ . Angularest compatible avec Angular Angular3 est une version mineure , ce qui signifie qu' il ne contient pas de modifications importantes et que c' est un remplacement direct pour les versionsx.x . Fonctionnalités de la version3 \ : Introduction de HttpClient , bibliothèque plus petite , plus facile à utiliser et plus puissante pour faire de les requêtes HTTP ; Nouveaux évènements de le cycle de vie de le routeur pour les Gardes et les Résolveurs . Quatre nouveaux évènements \ : GuardsCheckStart , GuardsCheckEnd , ResolveStart , ResolveEnd rejoignent l' ensemble de les évènements de cycle de vie tels que NavigationStart ; Désactivation conditionnelle de les animations . Version0.0 Angularest sorti le \ . De les améliorations-clés dans Angularincluent le soutien de les applications web progressives , un optimiseur de production et de les améliorations liées à Material Design . Version0.0 Angularest sorti le \ . C' est une version majeure permettant de moins mettre l' accent sur le cadre sous-jacent , de plus en plus sur la suite d' outils et de rendre plus facile le passage à Angular dans le futur , avec \ : ng update , ng add , Angular Elements , Angular Material + CDK Components , Angular Material Starter Components , CLI Workspaces , Library Support , Tree Shakable Providers , Animations Performance Improvements , RxJS v6 . Version0.0 Angularest sorti le \ . Version0.0 Angularest sorti le \ . Version0.0 Angularest sorti le \ . Mise en place de le moteur de rendu Ivy . Version0.0 Angularest sorti le \ . Version0.0 Angularest sorti le \ . Version0.0 Angularest sorti le \ . IEest déprécié . Version0.0 Angularest sorti le \ . Suppression de le support d' IE View Engine a été supprimé de le mode de compilation à le profit d' Ivy . Un avertissement est affiché pour les bibliothèques encore sous View Engine ( Angularet moins ) . Version0.0 Angularest sorti le \ . Amélioration de le support de les micro-frontends Mise en place de les composants autonomes sans ngModule . La validation de les formulaires est maintenant typable . Version0.0 Angularest sorti le \ . Version0.0 Angularest sorti le \ . Futures versions Chaque version est prévue pour être compatible avec la version antérieure . Google a promis de faire de les mises à jour deux fois par année . Politique de support Toutes les versions majeures bénéficient d' une assistance pendantmois . Il s' agit demois de support actif , à le cours desquels de les mises à jour et de les correctifs sont publiés à intervalles réguliers . Elle est suivie demois de support à long terme ( LTS ) , à le cours desquels seuls les correctifs critiques et les correctifs de sécurité sont publiés . Notes et références Annexes Articles connexes Framework JHipster Liens externes Site officiel AJAX Logiciel Google Logiciel libre sous licence MIT