Angular
Développé par Google, Angular est un Framework open source écrit en JavaScript qui 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[1] 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 | 11.2.3 ()[2] |
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
Angular (communément appelé "Angular 2+" ou "Angular v2 et plus")[3],[4] est donc un cadriciel (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 de AngularJS, cadriciel construit par la même équipe.
Différences avec AngularJS[modifier | modifier le code]
- 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[5].
- 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[6] - 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[modifier | modifier le code]
Nom[modifier | modifier le code]
À 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[7].
La Version 2.0.0[modifier | modifier le code]
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[8],[9]. Les changements drastiques dans la version 2.0 ont créé beaucoup de controverses parmi les développeurs[10]. Le , les développeurs d'Angular annoncent que la version 2 passe de la version alpha à la version d'essai pour les développeurs[11]. Angular 2 passe en Bêta en [12], et la première version candidate à la production est publiée en [13]. La version finale est publiée le .
La Version 4.0.0[modifier | modifier le code]
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[14]. La version finale a été publiée le [15]. Angular 4 est compatible avec Angular 2[16].
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.
La Version 5.0.0[modifier | modifier le code]
Angular 5 est sorti le [17]. 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[18].
Version 6.0.0[modifier | modifier le code]
Angular 6 est sorti le [19]. 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[modifier | modifier le code]
Angular 7 est sorti le [20].
Version 8.0.0[modifier | modifier le code]
Angular 8 est sorti le [21].
Version 9.0.0[modifier | modifier le code]
Angular 9 est sorti le [22].
Version 10.0.0[modifier | modifier le code]
Angular 10 est sorti le [23].
Version 11.0.0[modifier | modifier le code]
Angular 11 est sorti le .
Les futures versions[modifier | modifier le code]
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[modifier | modifier le code]
- « Modèle-vue-contrôleur », {{Article}} : paramètre «
périodique
» manquant, paramètre «date
» manquant - « Release v11.2.3 » (consulté le 25 février 2021)
- https://www.reddit.com/r/Angular2/
- Manjunath M, « AngularJS and Angular 2+ : a Detailed Comparison — SitePoint », sur Sitepoint.com, (consulté le 26 juin 2020).
- https://angular.io/guide/architecture
- « What’s the difference between AngularJS and Angular? », sur gorrion.io, (consulté le 28 janvier 2018)
- « Angular: Branding Guidelines for AngularJS » (consulté le 4 mars 2017)
- Coman Hamilton, « A sneak peek at the radically new Angular 2.0 » (consulté le 21 octobre 2015)
- « Ng-Europe schedule »
- Coman Hamilton, « Angular 2.0 announcement backfires » (consulté le 21 octobre 2015)
- 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 21 octobre 2015)
- « Angular: Angular 2 Beta », sur angularjs.blogspot.it (consulté le 13 juillet 2016)
- « angular/angular », sur GitHub (consulté le 4 mai 2016)
- « Ok... let me explain: it's going to be Angular 4.0 », sur angularjs.blogspot.kr (consulté le 14 décembre 2016)
- « Angular 4.0.0 Now Available », sur angularjs.blogspot.ca (consulté le 23 mars 2017)
- « Angular 4 coming in 2017, to be backwards compatible with Angular 2 », sur react-etc.net (consulté le 14 décembre 2016)
- Stephen Fluin, « Version 5.0.0 of Angular Now Available » (consulté le 2 novembre 2017)
- « Angular 5 JavaScript framework delayed »
- « Version 6.0.0 of Angular Now Available » (consulté le 4 mai 2018)
- « Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more » (consulté le 21 janvier 2019)
- « Version 8 of Angular — Smaller bundles, CLI APIs, and alignment with the ecosystem » (consulté le 3 juin 2019)
- (en) Stephen Fluin, « Version 9 of Angular Now Available— Project Ivy has arrived! », sur Medium, (consulté le 13 février 2020)
- (en) Krill Paul, « What’s new in Angular 10 », sur InfoWorld, (consulté le 26 juin 2020)