Ajax peut-il évoluer?

Question

Que pourrait-on remplacer dans la technologie et rester en Ajax? Si on remplace JavaScript par un autre langage, est-ce toujours Ajax?

Réponse courte

Le mot Ajax désigne un ensemble de techniques standard pour créer des pages dynamiques, mais il coexiste avec d'autres techniques comme par exemple les iframes ainsi que d'autres technologies pour échanger des données avec le serveur, et ce sont des choses différentes.
Un aspect essentiel est la qualité de standard. Remplacer JavaScript par un autre langage, ferait perdre à Ajax cette qualité.
Cependant, les technologies qui composent Ajax évoluent et font donc qu'il doit évoluer lui aussi.

Réponse longue

La question est souvent posée de savoir si Ajax peut utiliser un autre langage que JavaScript coté client, donc de savoir si on est toujours en Ajax avec un autre langage de programmation.

Tel qu'il est défini dans l'article de J.J. Garrett, Ajax se fonde sur JavaScript, et cela parcequ'il est standard et fonctionne sur tous les navigateurs actuels. Il existe d'autres langages coté client, mais les applications qui les utilisant n'ont pas cette qualité, on ne peut plus parler d'Ajax dans ce cas.

Il en est de même de l'objet XMLHttpRequest. On peut le remplacer par XDomainRequest mais celui-ci ne fonctionne que sur Internet Explorer, il ne s'agit plus alors d'Ajax.

Evolutions

Cependant des évolutions dans Ajax sont en fait inévitables puisqu'il est la combinaison de technologies qui elles-mêmes évoluent:

  • XMLHttpRequest ne supportait à l'origine que l'accès au site visité mais la version 2 définie par le W3C qui permet d'échanger des données avec d'autres sites. Elle supplante XDomaineRequest depuis la version 9 d'Internet Explorer/.
  • CSS passe à la version 3, partiellement supportée par les nouveaux navigateurs.
  • JavaScript à changé plusieurs fois de versions pour offrir de nouvelles fonctionnalités.
  • DOM évolue aussi dans la spécification de HTML 5.
  • Donc Ajax ne désigne pas quelque chose de figé même si on s'en tient aux composants décrits originellement dans l'article de J. J. Garrett (voir le lien plus bas).

    Finalement, Ajax est supplanté par un protocole plus puissant, WebSocket, permettant des interactions entre client et serveur à l'initiative d'une des deux parties. Pour autant, l'objet XHR ne devient pas obsolète et reste utile sur les pages dynamiques dont les changements ne dependent que de l'utilisateur.

    Plus d'informations
    © 2009-2012 Xul.fr