Asynchronous JavaScript and XML - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Ajax est un acronyme pour Asynchronous JavaScript and XML (« XML et Javascript asynchrones ») et désignant une solution informatique libre pour le développement de pages dynamiques et d'applications Web.

À l'image de DHTML ou de LAMP, AJAX n'est pas une technologie en elle-même, mais un terme qui évoque l'utilisation conjointe d'un ensemble de technologies libres couramment utilisées sur le Web :

  • HTML (ou XHTML) pour la structure sémantique des informations ;
  • CSS pour la présentation des informations ;
  • DOM et JavaScript pour afficher et interagir dynamiquement avec l'information présentée ;
  • l'objet XMLHttpRequest pour échanger et manipuler les données de manière asynchrone avec le serveur Web.
  • XML pour remplacer le format des données informatives (JSON) et visuelles (HTML).

En alternative au format XML, les applications Ajax peuvent utiliser les fichiers texte ou JSON.

Les applications Ajax peuvent être utilisées au sein des navigateurs Web qui supportent les technologies décrites précédemment. Parmi eux, on trouve Mozilla Firefox, Internet Explorer, Konqueror, Google Chrome, Safari et Opera.

Histoire

Le terme Ajax a été introduit par Jesse James Garrett (informaticien Américain), le 18 février 2005, dans un article sur le site Web Adaptive Path. Depuis, il a rapidement gagné en popularité.

Les éléments qui composent Ajax (Javascript, DOM, XML…) et leur utilisation pour générer des interactions asynchrones sont de loin antérieurs à l'apparition du terme.

En 2001, l'objet XMLHttp, apparu avec la bibliothèque MSXML, point de départ de cette technique, fut développé à l'origine par Microsoft pour Internet Explorer 5 en tant qu'objet ActiveX, puis intégré en tant qu'objet navigateur natif nommé XMLHttpRequest par Mozilla, ce qui permit aux autres navigateurs de l'intégrer car ActiveX n'est utilisé que par Internet Explorer.

Approches côté serveur

Un des points critiques dans la programmation avec Ajax est la nécessité d'une architecture client/serveur, mais des solutions en mode déconnecté commencent à voir le jour (fonctionnement du poste client sans nécessité d'être relié au réseau Internet ou à l'Intranet d'une entreprise). AJAX n'a pas besoin de code actif sur le serveur (seul le code JavaScript est actif sur le poste client), ce dernier étant un serveur Web se contentant d'envoyer les pages Web vers le poste client. Car les langages employés sont de type interprétés et sont exécutés directement au sein du navigateur du poste client. Il n'est donc pas nécessaire de déployer ou de mettre à jour une machine virtuelle (comme pour Java par exemple) sur le poste client. Ainsi AJAX est une solution portable, ses différents composants suivant les standards du W3C. Malgré tout, des technologies supplémentaires peuvent être employées côté serveur, notamment pour la gestion des données au format XML, ou comme par exemple des langages de script et des bases de données (PHP et MySQL par exemple).

Ces choix sortent du périmètre d'Ajax, mais peuvent apporter de nombreux services supplémentaires ou complémentaires :

  • Java fournit une technologie à maturité avec un support des processus légers (threads) et un important soutien de la communauté Open Source.
  • PHP possède aussi un fort soutien de la communauté Open Source, notamment la version 5 plus performante sur la gestion du XML en natif.
  • Perl propose notamment Catalyst.
  • Python est un langage de script complet et largement utilisé mais moins que Java ou PHP sur les serveurs (Google l'utilise largement).
  • ColdFusion avec les librairies CFjavax, Neuromancer, Sarissa, etc.
  • Uniface 9.3 implémente Ajax avec ses Pages dynamiques
Page générée en 0.101 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise