Les performances avec Ajax

Dans un précédent article, je parlais des difficultés à respecter le modèle MVC dès qu’on commence à développer en Ajax.

Au niveau des performances, l’utilisation d’Ajax change complément la répartition des charges. Dans une application web traditionnelle, le serveur est chargé de la plupart des traitements. Dans une application web Ajax, le navigateur client est de plus en plus sollicité pour effectuer des contrôles, notamment lors de la saisie des formulaires et pour afficher le nouveau contenu en provenance du serveur. Le nombre de requêtes total d’une application Ajax augmente, mais la quantité totale de données transmises a tendance à fortement diminué.

Les performances en termes de rapidités sont donc améliorées par l’utilisation de la technologie Ajax. En revanche, il n’est pas rare que la première page soit plus longue à charger car elle doit prendre en compte un plus grand nombre de librairies JavaScript nécessaires au bon fonctionnement de l’application, mais c’est sans comparaison avec un rechargement répété des pages. Les performances varient aussi considérablement en fonction des techniques utilisés pour permettre au serveur d’envoyer les informations au client: certains préfèrent envoyer de multiples requêtes brèves pour avoi des nouvelles du serveur alors que d’autres applications envoient une requête qui reste longtemps en attente côté serveur. Ces deux techniques ont leurs avantages et leurs inconvénient et le choix de l’une ou l’autre dépend par conséquent des besoins de l’application.

Même si l’utilisation d’Ajax permet d’améliorer les performances et surtout la simplicité d’utilisation des applications et des sites web, il faut garder à l’esprit lors du développement que tous les postes ne disposent parfois pas de la puissance nécessaire pour exécuter rapidement le code Javascript. C’est d’ailleurs pour cette raison que les navigateurs web ont tout miser ces dernières années sur la rapidité d’exécution de leurs moteurs Javascript.

Laisser un commentaire

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