L’API Angular est de loin la bibliothèque JavaScript de complément la plus utilisée en 2017, si l’on excepte JQuery, qui ne se situe cependant pas au même niveau. Angular, comme Ember ou Knockout est une API de client riche, dont le but est de transformer le comportement de la partie cliente des applications. La nouvelle version, Angular 5, fait la part belle aux « Progressive Web Apps », essentiellement pour les mobiles, ce qui s’inscrit exactement dans cette préoccupation.

Le framework JavaScript Angular a été écrit par Misko Hevery et Adam Abrons en 2005. Ce n’est donc pas une toute jeune API, mais ce n’est que depuis 2 ou 3 ans qu’elle est vraiment connue et occupe le devant de la scène. Elle doit son succès au fait qu’elle est très adaptée aux architectures modernes HTML, de type SPA (Single-Page Application), où tout le code est regroupé sur une seule page HTML, JS et CSS avec des ressources chargées dynamiquement au fur et à mesure des besoins, en général à la suite d’une interaction client. Ceci sans passer par d’incessants « va-et-vient »  Ajax ou Sockets. Angular est une implémentation du concept déclaratif, dans lequel on se contente de décrire le « quoi », sans se préoccuper de la manière de le faire, le « comment » (comme SQL ou HTML).

Avant la version 5, Angular était donc déjà très « affuté » et en phase avec ce que demandent les programmeurs modernes. On notera au passage qu’il n’y a pas eu véritablement de version 3, puisque la 4 est arrivée pratiquement au même moment, qui englobait toutes les initiatives prises avec la 3. On est donc passé de la 2 à la 4, directement, en quelque sorte.

Tout pour les PWA

Le « leitmotiv » d’Angular 5 est « easier, smaller, faster ».

Autrement dit, il est plus facile à utiliser, il génère un code plus réduit et en plus, il est plus performant. Que demander de mieux…

En termes de taille, par exemple, Angular 5 dispose d’un optimiseur de build, qui élimine de lui-même les parties de code qui lui semblent inutiles.

Pour ce qui est du rendu, la nouvelle API est conforme aux recommandations « Material Design » de Google, mais avec une génération de ce rendu qui s’applique également côté serveur. Ce « Materail Design », qui est d’une certaine manière, l’implémentation par Google du concept générique de Flat Design

Le troisième aspect est le plus important, qui fait d’Angular 5 une API destinée aux applications PWA (Progressive Web Apps), essentiellement pour être exécutées sur des mobiles.

On rappelle que la technologie PWA est conçue pour qu’une application Web sur un mobile se comporte à peu près de la même manière qu’une application native, écrite avec un SDK spécifique à l’OS sous-jacent.

Elle est en particulier fondée sur l’emploi d’une nouvelle génération d’addons, les « Service Workers », des scripts JavaScript qui s’exécutent parallèlement aux autres scripts des pages Web, sans interférer avec celles-ci et sans « polluer » leur DOM.

Il s’agit là d’une architecture très séduisante, à qui il ne manque que la reconnaissance du marché, les PWA étant pour l’instant limités aux seuls browsers Chrome et Firefox.

Angular 5 s’inscrit donc dans ce cadre et il est probable que vous ne pourrez pas lui rester indifférent bien longtemps…