Bien qu'AJAX ne soit pas une technologie, je le classe dans cette catégorie pour faire le parallèle avec les autres.
Présentation
AJAX signifie Asynchronous Javascript And XML et est en fait une méthode d'utilisation de plusieurs technologies ensemble : HTML, XML, l'objet XMLHttpRequest, le CSS et le Javascript.
Le principe
Une application web "traditionnelle" permet de suivre des liens ou de remplir des formulaires. A chaque page chargée, l'ensemble des composants de cette page est rechargé, ce qui provoque un temps de chargement bien plus conséquent et une navigation moins agréable. Grâce à l'utilisation d'AJAX, une seule partie de la page est rechargée, provoquant des conséquences avantageuses : une navigation plus fluide et un temps de réaction quasi-instantané, comparable à des interfaces lourdes (applications de bureau). Le traitement est en fait effectué par le navigateur, et les données envoyées au serveur et celles reçues sont bien moins nombreuses, ce qui accèlere le processus. L'utilisation d'AJAX permet ainsi d'avoir de nouveaux composants et comportements : le glisser/déposer d'élements, la validation à la volée de formulaires, etc.

GMail, une des applications qui ont fait parler d'AJAX
Les outils
Il existe de très nombreux frameworks utilisés pour faciliter les développements en AJAX. Mais il faut savoir qu'on peut faire de l'AJAX à partir de rien si l'on connaît bien le Javascript et l'objet XMLHttpRequest. Citons tout de même quelques frameworks (liste non-exhaustive) :
- Dojo de la Dojo Foundation.
- RIALTO : Rich Internet Application Toolkit.
- ASP.NET AJAX, anciennement Atlas, le framework de Microsoft pour l'asp.
- ATF pour AJAX Toolkit Framework, à suivre de près car soutenu par l'ensemble des acteurs du marché (IBM, Google, Oracle, Red Hat, Eclipse, etc.).
- Google Web Toolkit pour développer en Java des applications s'appuyant sur AJAX.
- Script.aculo.us : le framework AJAX spécialisé dans les effets
Les exemples
Voici quelques exemples d'applications développées en s'appuyant sur AJAX :
- Google Reader : l'aggrégateur RSS de Google.
- RIALTO DEMO : tout ce qui est réalisable avec RIALTO.
- ASP.NET AJAX Showcase, de même avec le framework de Microsoft.
- Netvibes qui utilise l'AJAX d'une manière très efficace.
- De très nombreuses autres applications, notamment poussées par Google : SpreadSheets and Docs, GMail, Google Maps, etc.
Les points forts
Utiliser AJAX est gratuit, et bien qu'il soit compliqué de développer des applications sur ce modèle, il existe de plus en plus de frameworks qui assistent le travail et surtout se conforment à des normes et rendent le code compatible avec tous les navigateurs. De plus, on ne peut dissocier l'arrivée de la bulle web 2.0 en 2005 avec l'arrivée à maturité d'AJAX (qui date pourtant de 1999 - que faisait t'on en attendant ?). Implanté dans de nombreux sites, AJAX est un gage d'ergonomie et cela est démontré par de très nombreux exemples. Que ce soit la fluidité de navigation ou les nouveaux composants, AJAX fait vraiment avancer le web vers un internet riche.

Protopage montre bien l'étendue de la puissance d'une application AJAX
Liens, pour en savoir plus
- AJAX : A new approach to Web Applications : très bon article introductif sur AJAX.
- ToutAjax, des tonnes de liens vers des tutoriels et des exemples : la bible d'AJAX.
- Article d'IBM pour tout comprendre à AJAX en profondeur.
Récapitulatif
Propulsé grâce à Google au rang de méthode indispensable de conception d'applications Web, l'AJAX est passé de l'inconnu à un bijou recherché. Mais le rush a connu quelques soucis : problèmes de compatibilité, etc. Bien que tout ceci s'arrange, notamment avec la mise en place de l'ATF, on peut se poser la question de l'avenir d'AJAX : quelles sont ses limites ? Quelles évolutions proposera AJAX ? Néanmoins, cette méthode reste encore la meilleure solution d'améliorer la navigation d'une application web html.

Commentaires
1 . Le dimanche 26 novembre 2006 à 20h05, par bibi
Je rajouterai scriptaculous pour les outils (script.aculo.us/)
Bonne continuation
Ajouter un commentaire