Ajax et son utilisation dans les applications Web
Asynchronous Javascript and XML, c'est la technologie qui change le fonctionnement des pages web en permettant de les compléter par des échanges en mode asynchrone avec le serveur. Les applications Web, fonctionnant sur un navigateur, font toutes appel à l'objet XMLHttpRequest pour les échanges avec le serveur ainsi qu'au HTML dynamique, les technologies qui constituent Ajax.
Le nom Ajax a été lancé par Jesse James Garrett dans un article publié sur le site Adaptative Path en 2005. (Ref.)
Qu'est-ce qu'Ajax?
C'est une combinaison de technologies préexistantes pour créer des sites Web dynamiques fonctionnant comme des logiciels ordinaires:
- XMLHttpRequest. Objet du navigateur utilisable en JavaScript, il lance des requêtes GET ou POST au serveur pour lire un fichier ou envoyer des paramètres.
- JavaScript. Langage de script fonctionnant coté client.
- DOM. Le Document Object Model est une réprésentation de la structure d'un document HTML ou XML et permet d'accéder aux éléments dans le document.
- CSS. Les Cascading Style Sheets, les feuilles de styles, définissent la présentation d'une page.
- XML ou autre format de données. Bien que le terme XML soit dans la définition du mot Ajax, l'objet XHR permet aussi bien de lire des fichiers au format texte ou JSON.
Lire une introduction détaillée: Ajax.
L'objet XHR tel que défini dans la spécification standard prévoit l'emploi de deux attributs différent selon que le fichier chargé est au format XML ou non, sachant qu'un fichier JSON est vu comme un fichier textuel. Ce sont responseXML et responseTxt.
Pour choisir entre les formats, l'article Comparaison de JSON et XML fournit les éléments de décision.
Les successeurs d'Ajax
De nouveaux standard modernisent l'accès au serveur.
- XMLHttpRequest vs. WebSocket. Avec WebSocket on obtient un accès bidirectionnel avec le serveur qui peut envoyer des notifications.
- WebRTC vs. WebSocket. Avec WebRTC l'application put accéder en temps réel aux données sur le serveur.
Aussi bien WebRTC que WebSocket ont une interface pour JavaScript standardisée par le W3C ce qui facilitera leur généralisation sur les navigateurs.
Les successeurs d'Ajax ne seront pas avant longtemps accessibles à tous les sites.
Les frameworks Ajax
L'utilisation d'un framework dispense le programmeur de réécrire les fonctions d'applications Web courantes, elle sont toutes disponibles et testées sur les principaux navigateurs.
Un framework Ajax quand il est en pur JavaScript peut fonctionner sur tout système, il s'exécute coté client. Ou il peut avoir une partie fonctionnant coté serveur, dans différents langages de programmation: PHP, Java, ASP.
Les principaux frameworks JavaScript sont JQuery, Mootools, Yahoo UI.
Google Web Toolkit est un frameworks coté serveur pour construire des programmes en Java qui sont compilés en JavaScript pour fonctionner coté client.
- Voir la Liste des frameworks Ajax et PHP pour une comparaison des principaux frameworks PHP.
- Tutoriel Gears
Créer une application Ajax hors ligne avec Gears.
Voir aussi XMLHttpRequest et Gears.
Tutoriels et outils
- Ajax, une nouvelle approche pour
les sites Web
Traduction de l'article de Jesse James Garrett qui a lancé le nom Ajax, elle est hébergée sur Scriptol.fr. - La première FAQ Ajax
Traduction de la FAQ qui accompagne l'article précédent. - Ajax navigable par les moteurs de recherche: Comprendre la spécification de Google.
Google propose un standard: le contenu dynamique sera indexé par les moteurs.
Outils
- Firebug.
Extension à Firefox facilitant le déboguage d'applications Ajax. - Google Gears.
Un plugin pour exécuter les applications web hors connexion. Remplacé par HTML 5 mais utilisable. - Anaa
Librairie légère et simple d'emploi pour utiliser Ajax sans charger un framework complet. - Rich Ajax Platform
Framework et outil de développement basé sur Eclipse, avec Java coté serveur.
Documents
- Quelle interface pour une application
moderne?
Comparaison des solutions offertes actuellement: Ajax, XAML, JavaFX et aussi les nouveaux standards du Web pour les applications. On envisage aussi les évolutions en cours de ces technologies, car elle sont importantes pour le choix. - Comment réaliser une RIA?
Description des techniques de RIA, sa portée et de son avenir. Est-ce la fin des applications locales? Tout ce qu'il faut savoir avant de réaliser une application Web.
|
|
|
