Sitedetout - Tutoriels informatiques

L’histoire du framework Angular

L’histoire du framework Angular
Noter cet article

Historique

Au début de l’année 2010, un employé de Google dont le nom est Misko Hevery travaillait sur un projet à part dont le but est de faciliter le développement des applications web pour plusieurs projets internes qu’il concevait. Ce projet fut nommé Angular JS.

Adam abrons ami de Misko et qui travaillait avec lui sur ce projet choisit le nom d’Angular car les balises du langage HTML sont écrites entre des chevrons angulaires (angular brackets < >).

adam_misko

Ils ont alors enregistré le nom de domaine getangular.com (vu que angular.com était déjà prit)

getangular

Misko et quelques collègues commencent alors à utiliser AngularJS pour développer d’autres projets internes et finissent par publier le Framework en tant que projet Open source (Github de Misko : https://github.com/mhevery).

Le passage à Angular

Plusieurs Années plus tard, l’environnement JavaScript évolue et de nouveaux standards apparaissent. L’équipe d’AngularJS font de leur mieux pour améliorer le Framework à chaque Pull Request mais finissent être bloqués par ses capacités restreintes.

Le Framework jusqu’à ce temps a gardé sa version 1.x.x malgré les évolutions majeures et mineures qui lui sont apportées.

Quand l’équipe a voulu créer la version 2.0 du Framework, cette version devrait pour eux être capable de résoudre les problèmes difficiles des grandes applications ce qui signifiait de réécrire entièrement le Framework.

C’est ce qui a été finalement fait et le nouveau Framework a été simplement nommé Angular en adoptant cette fois le principe de la Gestion sémantique de version (MAJEUR.MINEUR.CORRECTIF) et en tirant profit des nomes ES2015 et des composants Web.

Ainsi la version 2.0  a été annoncée en 2014 mais livrée jusqu’en Septembre 2016 ce qui favorisa entre-temps l’essor du Framework React aux dépens d’Angular 1/AngularJS.

La nouvelle version était incompatible avec la version Angular 1/AngularJS vu que le Framework a été entièrement réécrit. Ainsi, les développeurs voulant migrer leurs applications angularJS devront dans la majorité des cas reprendre leur développement depuis le début.

Cette incompatibilité à semé la panique au sein de la communauté Angular surtout qu’aucune stratégie de migration complète n’existe entre AngularJS et Angular 2 et c’est pourquoi beaucoup de projets sont restés coincés à la version AngularJS 1.x et c’est aussi pourquoi AngularJs est toujours maintenu sur le site web https://www.angularjs.org, alors qu’Angular est disponible sur le site https://angular.io.

ANGULARJS VS ANGULAR

Architecture

AngularJS suit l’architecture MVC où le model est le composant centrale qui gère les données, la logique et les règles métier, la vue s’occupe d’afficher les informations du model. Le contrôleur s’attache au DOM et gère la liaison entre la vue et le modèle.

Angular 2 a remplacé les contrôleurs et les $scope par des composants ce qui permet de diviser une application en plusieurs composants pouvant être appelés chacun à part et réutilisés si besoin. Ceci facilite le développement des applications, améliore la flexibilité, la modularité et la testabilité du code de l’application.

Chaque composant est constitué d’une template HTML, d’un fichier CSS et un fichier TypeScript

Langage

AngularJS utilise le langage JavaScript tandis qu’Angular 2 a introduit en plus le langage TypeScript qui est un sur-ensemble de JavaScript et permet d’améliorer et sécuriser la production du code JavaScript.

Syntaxe

  • Pour mettre en place un binding, la syntaxe a été modifiée comme suit :
    • [(twoWayDataBindingModel)]
    • [oneWayDataBindingFromDataSourceToViewTarget]
    • (oneWayDataBindingFromViewTargetToDataSource).
  • Angular 2 utilise désormais directement les éléments du DOM HTML (hrefsrc et hidden ) et n’a donc plus besoin des directives ng-hrefng-src, ng-show et ng-hide
  • Angular 2 utilise (click)=”doSomething() au lieu de  ng-click=”fonction().
  • Il n y a plus besoin d’utiliser la directive ng-app
  • L’annotation @Injectable est utilisée pour simplifier le mécanisme d’injection de dépendances.
  • Les directives suivantes ont été remplacées :
    • ng-repeat =>  *ngFor
    • ng-class =>  ngClass
    • ng-model => ngModel
  • La syntaxe du routage a été modifiée
  • Angular est fourni avec une interface en ligne de commande qui simplifie la création d’une application et ses composants.
  • Support des applications mobiles : Angular 2 Permet de créer des applications mobiles contrairement à AngularJS.

Où est la version Angular 3 ?

Alors que tout le monde attendait que la prochaine version majeure soit Angular 3, Google a annoncé lors de la conférence NG-BE 2016 que le Framework évoluera directement à la version 4.

Cette décision a été motivée par la volonté d’aligner tous les paquets d’Angular à la même version.

En effet, ils étaient tous à la version 2.3.0 sauf le paquet @angular/router qui était à la version 3.3.0.

angular_versions

Le passage à la version 4.0.0 a servi à éliminer la confusion et faciliter le maintien du Framework.

 

Historique des versions

ANGULAR 2 : 14 Septembre 2016

ANGULAR 4 : 23 Mars 2017

ANGULAR 5 : 1 Novembre 2017

ANGULAR 6 : 4 Mai 2018

ANGULAR 7 : Prévu en Octobre 2018

ANGULAR 8 : Prévu en Mars/Avril 2019

 

Futur du Framework

Au fil des versions, Angular a gagné en rapidité et stabilité et permet largement de concevoir des applications robustes et performantes.

Sa communauté ne cesse de grandir et le marché informatique regorge de projets l’utilisant aujourd’hui.

Selon son équipe de développement :

  • une version majeure sera produite par six mois
  • une à trois versions mineures pour chaque version majeure
  • un patch par semaine.

On s’attend alors à ce que le Framework s’améliore de manière régulière.

Enfin, pour savoir les nouveautés qui lui ont été apportées, n’hésitez pas à consulter l’historique des améliorations disponible via le lien Github : https://github.com/angular/angular/blob/master/CHANGELOG.md

 

 


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

WP Facebook Auto Publish Powered By : XYZScripts.com
Chargement...
Menu Title

Powered by themekiller.com