Angular
Angular (communément appelé "Angular 2+" ou "Angular v2 et plus")[2],[3] est un framework côté client, open source, basé sur TypeScript, et co-dirigé par l'équipe du projet « Angular » à Google et 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 de ce qu’on appelle des « Single Page Applications » : 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.
Développé par | Google et la communauté Angular. |
---|---|
Première version | septembre 2016 |
Dernière version | 12.1.4 ()[1] |
Dépôt | github.com/angular/angular |
Assurance qualité | Intégration continue |
Écrit en | TypeScript |
Système d'exploitation | Multiplateforme |
Type | Framework JavaScript |
Licence | Licence MIT |
Site web | angular.io |
Chronologie des versions
Différences avec AngularJS
- Angular n'a pas de notion de "portée" ou de contrôleurs, au lieu de cela il utilise une hiérarchie de composants comme principale caractéristique architecturale[4].
- Angular a une syntaxe d'expression différente, en se concentrant sur les
"[ ]"
pour la liaison des propriétés, et de"( )"
pour les liaisons des événements[5] - 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 classe, à 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étro-compatible avec ECMAScript 5 (c'est-à-dire: JavaScript). Angular comprend également les principes d'ES6 suivant :
- les fonctions anonymes
- les itérateurs
- boucles for-of
- générateurs dans le style du langage Python
- La réflexion
- Le chargement dynamique
- Compilation asynchrone des modèles
- Itératif rappels fournis par RxJS. RxJS limites de l'état de visibilité et de débogage, mais ces problèmes peuvent être résolus avec réactif add-ons comme ngReact ou ngrx.
Historique
Nom
À l'origine, la réécriture de AngularJS a été appelée "Angular 2" par l'équipe, mais cela a conduit à la confusion entre les développeurs. Pour clarifier, l'équipe a annoncé que des termes différents doivent ê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[6].
La Version 2.0.0
Angular 2.0 est annoncé à la conférence ng-europe 2014, qui s'est déroulé les 22 et de cette même année[7],[8]. Les changements drastiques dans la version 2.0 ont créé beaucoup de controverses parmi les développeurs[9]. Le , les développeurs d'Angular annoncent que la version 2 passe de la version alpha à la version d'essai pour les développeurs[10]. Angular 2 passe en Bêta en [11], et la première version candidate à la production est publiée en [12]. La version finale est publiée le .
Version 4.0.0
Le Angular 4 a été annoncé, le saut à la version 3 fut fait pour éviter une confusion en raison de l'absence d'alignement entre le routeur de version du paquet qui avait déjà été distribué dans v3.3.0[13]. La version finale a été publiée le [14]. Angular 4 est compatible avec Angular 2[15].
Angular de la version 4.3 est une version mineure, ce qui signifie qu'il ne contient pas de modifications importantes et que c'est une baisse-dans le remplacement pour les 4.x.x.
Fonctionnalités de la version 4.3 :
- L'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 du cycle de vie des événements tels que NavigationStart.
- Désactivation conditionnelle des animations.
Version 5.0.0
Angular 5 est sorti le [16]. améliorations clés dans Angular 5 incluent le soutien des applications web progressives, un optimiseur de construction et des améliorations liées à la Conception de Matériel[17].
Version 6.0.0
Angular 6 est sorti le [18]. C'est une version majeure permettant de moins mettre l'accent sur le cadre sous-jacent, et 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, et RxJS v6.
Version 7.0.0
Angular 7 est sorti le [19].
Version 8.0.0
Angular 8 est sorti le [20].
Version 9.0.0
Angular 9 est sorti le [21].
Version 10.0.0
Angular 10 est sorti le [22].
Version 11.0.0
Angular 11 est sorti le [23].
Version 12.0.0
Angular 12 est sorti le [24].
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.
Notes et références
- « https://github.com/angular/angular/releases/tag/12.1.4 »,
- (en) « Angular (2+) • r/Angular2 », sur reddit (consulté le ).
- Manjunath M, « AngularJS and Angular 2+ : a Detailed Comparison — SitePoint », sur Sitepoint.com, (consulté le ).
- (en) « Angular », sur angular.io (consulté le ).
- « What’s the difference between AngularJS and Angular? », sur gorrion.io, (consulté le )
- « Angular: Branding Guidelines for AngularJS » (consulté le )
- Coman Hamilton, « A sneak peek at the radically new Angular 2.0 » (consulté le )
- « Ng-Europe schedule »
- Coman Hamilton, « Angular 2.0 announcement backfires » (consulté le )
- angularjs, « Angular 2 moves from Alpha to Developer Preview! Dev guide and API docs now available at ... angular.io/docs/js/latest », sur Twitter, (consulté le )
- « Angular: Angular 2 Beta », sur angularjs.blogspot.it (consulté le )
- « angular/angular », sur GitHub (consulté le )
- « Ok... let me explain: it's going to be Angular 4.0 », sur angularjs.blogspot.kr (consulté le )
- « Angular 4.0.0 Now Available », sur angularjs.blogspot.ca (consulté le )
- « Angular 4 coming in 2017, to be backwards compatible with Angular 2 », sur react-etc.net (consulté le )
- Stephen Fluin, « Version 5.0.0 of Angular Now Available » (consulté le )
- « Angular 5 JavaScript framework delayed »
- « Version 6.0.0 of Angular Now Available » (consulté le )
- « Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more » (consulté le )
- « Version 8 of Angular — Smaller bundles, CLI APIs, and alignment with the ecosystem » (consulté le )
- (en) Stephen Fluin, « Version 9 of Angular Now Available— Project Ivy has arrived! », sur Medium, (consulté le )
- (en) Krill Paul, « What’s new in Angular 10 », sur InfoWorld, (consulté le )
- https://blog.angular.io/version-11-of-angular-now-available-74721b7952f7
- https://blog.angular.io/angular-v12-is-now-available-32ed51fbfd49