27 décembre 2005

AJAX

Qui n'a pas entendu parler du grand club d'Ajax Amsterdam plus connu dans les années passées?
Qui n'a pas entendu parler d'Ajax fils de Télamon ou 'les deux Ajax' de la mythologie grecque, le brave héro "celui que sa beauté ainsi que ses exploits mettent au-dessus de tous les Achéens, après le Péléide sans reproche"  (Iliade, Homère).
J'aurais aimé vous dire que je vais parler du grand club de foot ou du grand roi des temps mythique mais il ne s'agit de l'un ni de l'autre. AJAX est une nouvelle technique qui ouvre de nouvelles horizons dans le monde du développement web.

C'est Quoi AJAX?
AJAX(Asynchronous Javascript And XML) est une nouvelle technique basée sur des outils plus ou moins anciens. Elle utilise un objet Javascript qui est XMLHttpRequest et le langage XML pour ajouter une couche entre le serveur Web et le Navigateur.

Avantages
La technique derrière AJAX est très simple. Des scripts traitent des événements et chargent des données propres à chaque événement (récupération du nom de la ville lors de la sélection du code zip dans un formulaire par exemple). Au lieu de charger toute la page et récupérer le nom dans un script coté serveur un objet Javascript sera créé et se charge de les récupérer sans passer par le chargement total de la page et ainsi avoir devant les yeux encore une fois une blanche qui fait tellement mal aux yeux J.

Inconvénients
Et comme toutes le belles choses de la vie il n'est pas bien de trop consommer AJAX. Le code est en effet exécuté du coté client ce qui peut ralentir le premier affichage de la page. Le deuxième point auquel il faut préter attention, qui est également valable pour javascript en général, est de veiller à ce que le code soit compatible avec le maximum des navigateurs.

Comment coder?
AJAX est plus une manière de penser qu'une technique et packages.
Pour commencer je site une partie du Q&A du site http://www.adaptivepath.com
------------
Q. Is Adaptive Path selling Ajax components or trademarking the name? Where can I download it?
A. Ajax isn’t something you can download. It’s an approach — a way of thinking about the architecture of web applications using certain technologies. Neither the Ajax name nor the approach are proprietary to Adaptive Path.
--------------
AJAX est en effet une manière de procéder mais son implémentation est propre à toute application. La base reste cependant la même. Toutes les applications contiennent sûrement une fonction ou un objet qui utilise l'objet XMLHttpRequest.
Des exemples d'implémentations existe déjà sur le web. Personnellement j'utilise un que j'ai trouvé sur le site de Mozilla (http://developer.mozilla.org/en/docs/AJAX:Getting_Started). Ce script gère les différentes versions de navigateurs. Je l'ai testé sur trois navigateurs les plus connus:IE, FireFox et Opéra. Je ne vous cache pas combien de temps j'ai perdu avant de me rendre compte que les requêtes effectuées à travers l'objet XMLHttpRequest doivent se faire dans le même domaine sinon ça ne marche pas avec FireFox et Opéra. Alors ne faites pas comme moi et utilisez un serveur web dés le premier test.

Posté par KLiFF à 19:01 - Commentaires [0] - Permalien [#]


Commentaires sur AJAX

Nouveau commentaire