AngularJS, un framework bien pensé

Après plusieurs applications développées avec AngularJS1, je dois admettre que je suis impressionné par ce framework Javascript sorti des cerveaux de Google. Pour une fois, j'ai l'impression d'avoir un outil parfaitement conçu pour le développement de Frontend.

Il faut admettre qu'il y a une certaine «Learning Curve» au début et que certains concepts (scope, services, providers, factory, promises) sont déstabilisants. Par contre, une fois tous les concepts maîtrisés, AngularJS s'avère un framework de grande qualité. Il favorise une programmation rapide et structurée permettant de développer rapidement des frontends performants et faciles à maintenir.

Couplé à des outils modernes de développement tels que gulp (ou grunt), jslint, browserify et NPMJS, AngularJS procure un environnement de développement Javascript respectants les standards de performances du web d'aujourd'hui.

jQuery != AngularJS

AngularJs est principalement conçu pour développer des frontends SPA (Single Page Application) communiquant avec des API/REST en JSON. AngularJS gère automatiquement le rafraîchissement de l'interface dès qu'il y a un changement dans les données impliquées. Il n'est plus nécessaire de manipuler le DOM pour modifier les informations affichées dans l'interface.

Je comprends mal que certains programmeurs préfèrent encore utiliser une librairie comme jQuery pour développer des applications javascript. JQuery n'est pas un framework, cette librairie a été conçu pour faciliter l'interaction avec le DOM/HTML point final. jQuery ne propose pas de solution pour structurée l'application en module ni la configuration de routes pour contrôler les différents états d'une application Javascript et encore moins le rafraîchissement automatique de l'interface.

AngularJS 2, développé pour le futur !

Reste à savoir maintenant, si la popularité d'AngularJS (toujours croissante !) va se maintenir car actuellement le framework est en réécriture complète. La version 2 de AngularJS2 sera une version dite améliorée puisque le framework utilisera TYPEScript3 et ciblera les navigateurs modernes seulement. Malheureusement, il faudra réapprendre le framework, en partie du moins ! Google n'a pas encore annoncé s'il y aura un outil permettant de «porter» une application de la version 1 à la version 2 en toute simplicité.

Il est clair que si vous débutez une nouvelle application avec AngularJS, il est préférable d'utiliser la version 1. La maîtrise du framework sera plus simple, puisqu'après tout, il ne s'agit que de Javascript standard. Pour les plus aventureux, pourquoi ne pas débuter avec la version 2 ? En technologie, le futur c'est demain !


1 https://angularjs/

2 http://angular.io/

3 http://www.typescriptlang.org/