On ne le dira jamais assez, le web 2.0, avec AJAX, est une vraie révolution pour le développement web. Mais si le gain est appréciable pour l'utilisateur, en termes de confort et d'ergonomie, il n'en va pas de même pour le développeur. Le code réclamé par ce type d'applications est souvent très verbeux, voire confus, et dans le cadre d'un projet important, cela peut devenir très difficile à gérer. Certains produits sont aujourd'hui disponibles pour faciliter la création d'applications web 2.0, avec plus ou moins de réussite.
La mode, et la logique devrait-on dire, est au développement suivant les règles du pattern MVC, pour Model – View – Controller. Cette méthode permet de scinder efficacement
la description des objets et règles métiers (Model), l'affichage de ces objets (View) et les interactions entre les deux (Controller). Si les développeurs web aspiraient à mettre en pratique ce pattern depuis longtemps, cela leur était rendu difficile par la pauvreté des environnements disponibles, ainsi que certaines limitations induites par le protocole HTTP. Ou du moins par la manière dont ils s'en servaient. La révolution Ajax, c'est précisément une nouvelle manière d'appréhender le protocole HTTP, en étant en mesure de dialoguer librement, sur demande, avec le serveur depuis le client, sans forcément devoir réafficher une page complète. Ce faisant, le pattern Ajax a permis la mise au point d'environnements MVC capables de
dissocier les données de leurs conteneurs bien plus efficacement qu'auparavant. En effet, dans de nombreuses pages web, on pouvait estimer que le volume de données transmises sur le réseau pour le seul squelette d'une page pouvait représenter jusqu'à 80% du volume total transféré. Et ce, à chaque " écran " de l'application. Ajoutez à cela les très faibles débits Internet qui étaient encore majoritaires il n'y a pas si longtemps, et vous comprendrez pourquoi les applications web ont peiné à convaincre ces dernières années, malgré la présomption
d'un potentiel énorme. En faisant procéder à des échanges ponctuels avec le serveur, Ajax a permis de réduire drastiquement cette proportion, notamment en évitant de réafficher
l'intégralité d'une page pour simplement mettre à jour les données affichées. Un exemple typique : l'affichage d'une liste composée de nombreux enregistrements. Lorsque l'affichage requiert plusieurs pages, Ajax permet de ne mettre à jour que le contenu des cellules du tableau qui affiche les données, plutôt que l'intégralité de l'écran. En outre, Ajax reposant sur JavaScript, son avènement a remis au goût du jour ce langage, trop longtemps déconsidéré par les développeurs. Désormais, il est abondamment utilisé dans la réalisation d'applications web 2.0, de façon à transférer une partie de la charge de traitement des données (comme les tris ou le formatage) sur le poste client, déchargeant d'autant le serveur.
Mais tout ceci ne se fait pas sans douleur. Si JavaScript a été si longtemps boudé, ce n'est pas que par snobisme. C'est également parce que c'est un langage assez inconfortable, et pour lequel il n'existe que très peu d'outils professionnels de développement. Son emploi au sein d'un projet web 2.0 peut parfois prendre des allures de cauchemar.