mer, 12/03/2014 - 10:44
Alors qu'on le croyait en perte de vitesse, le modèle client/serveur fait son retour... dans les applications Web ! Simple à utiliser, économe en ressources matérielles et intégrable dans n'importe dans quelle architecture Web existante, AngularJS permet en plus d'industrialiser les développements JavaScript. Plus d'hésitation...
AngularJS : le framework de Google !
Apporter de l'interactivité dans le Web. Tel est l'un des principaux objectifs de JavaScript. Et la raison pour laquelle c'est l'une des technologies les plus utilisées pour la création d'applications Web dites « Single Page Application », dont le principe est simple : télécharger l'ensemble de l'application au départ, puis n'échanger que des données. Au contraire d'une application Web classique qui recharge également les interfaces. Soit ni plus ni moins qu'un mode de fonctionnement calqué sur le client / serveur !
A priori, le JavaScript a donc tout pour plaire. Et c'est le cas, tant le langage est malléable grâce à ses objets, sa souplesse et sa philosophie orientée « fonctionnelle ». Mais cette flexibilité a un prix : chaque développeur (ou presque !) se crée sa propre réflexion de JavaScript et sa façon de développer. Ce qui rend l'industrialisation des développements JavaScript particulièrement difficile.
Une industrialisation qui est précisément l'objectif d'AngularJS : à l'origine imaginé et conçu par un collaborateur de Google, AngularJS a notamment été utilisé pour le développement d’un grand nombre d’applications front-end. Facile à utiliser, il offre un vrai confort de travail aux développeurs grâce à du code réutilisable (le principe même d'un framework), afin qu'ils puissent se concentrer sur les règles métiers, la véritable valeur ajoutée de leur métier.
Des ressources matérielles réduites
Vraie révolution pour les développeurs d'applications utilisant JavaScript, AngularJS pourrait aussi devenir le catalyseur des applications « Single Page Application ». Sources de nombreuses économies en termes d'infrastructure, elles limitent les transactions à des échanges de données brutes, sans les IHM (Interface Homme-Machine). Ainsi ce type d’architecture induit des économies considérables en matière de bande passante, un centre de coûts non négligeable pour les entreprises.
Tandis que des requêtes (et surtout des réponses) plus légères diminuent également la sollicitation des serveurs qui, au-delà d'être moins nombreux pour assurer la fluidité du trafic vers les utilisateurs, peuvent également être moins puissants. Soit une nouvelle source d'économie pour l'entreprise. Sans compter que, aussi révolutionnaire soit-il pour le travail des développeurs, AngularJS n'impose en aucun cas un big bang : les applications conçues à partir du framework de Google peuvent en effet tout à fait s'intégrer à une architecture Web existante.
L'expérience utilisateur améliorée
A priori, l'utilisation de JavaScript dans une application est strictement transparente pour l'utilisateur. A priori seulement, car bien qu'il puisse ne pas s'en rendre compte, son usage est grandement optimisé par l'utilisation de JavaScript dans le cadre d'une application Web. Ainsi, s'il accède toujours à ses applications Web via son navigateur, il bénéficie généralement d'interfaces bien plus ergonomiques et adaptées à la destination de l'application.
Sans compter une fluidité d'action plus importante et des performances en forte hausse puisque l'ensemble de l'application est chargée au départ, et seuls les éléments modifiés transitent depuis les serveurs. Soit l'exact comportement d'une application en mode client/serveur, mais avec la simplicité d'accès et d'usage d'une application Web.
A propos de l'auteur
Sébastien Roul : 15 ans de développement en SSII, beaucoup de clients et de technologies depuis mes débuts en Visual Basic 1 (sous Dos) :o) Depuis 2008 ans à la Direction NETAPSYS Atlantique, l'objectif est de construire une équipe passionnée par la technique autour de solides bases, vaste programme !
Médy Belmokhtar : Passionné des technos JS, il réalise chez NETAPSYS l'évangélisation et l'intégration de projets autour du framework ANGULAR-JS.