Cadre d'application ajax
# Cadre d'application ajax

Ajax n'est pas une technique, c'est un ensemble d'outils qui permet de construire des pages web dynamiques côté client. Les données sont échangées avec le serveur par des requêtes HTTP générées en JavaScript, et le serveur effectue des traitements sur ces données. Le développement des applications ajax est facilité par l'emploi d'un framework. J.J. Garret, dans son article où il utilise pour la première fois le terme ajax, décrit la technique ajax comme un intermédiaire entre l'utilisateur et le serveur.

Le moteur ajax permet de supprimer l'attente pour interagir avec le serveur. Le but du framework est de fournir ce moteur de traitement et les fonctions associées, côté client et côté serveur.

## Frameworks JavaScript indépendants du serveur et du client

De nombreux ateliers de développement ajax et bibliothèques se fondent uniquement sur JavaScript, et ne contiennent aucun composant serveur. Ils ne dépendent donc pas d'un langage particulier implémenté côté serveur. Par ailleurs, ils permettent de s'abstraire des problèmes de compatibilité des différents navigateurs (les clients). La plupart utilisent le format de données XML mais ils peuvent aussi utiliser JSON.

* Atlas de Microsoft, en partie conçu pour être indépendant vis-à-vis de la plateforme .NET.
* Archetype (se base sur Prototype ou jQuery)
* Dojo
* ExtJS
* jQuery, le plus souvent rencontré
* Prototype(en) (éventuellement couplé à script.aculo.us)
* Modernizr, permettant de mêmes rendus CSS3 et HTML5 sur différents navigateurs (non forcément compatibles avec ces technologies).
* Mochikit (en), bibliothèque légère fortement influencée par Python, elle propose un support pour la programmation fonctionnelle, une syntaxe simplifiée et un interpréteur interactif.
* Mootools (alternative au couple Prototype et script.aculo.us)
* Script.aculo.us, spécialisée dans les effets dynamiques visuels et les éléments d'interface utilisateur.
* Yahoo! UI Library, abrégée YUI (possibilité de faire d'ajax et de l'HIJAX (es))

## Frameworks ColdFusion

Les bibliothèques que l'on peut trouver sont ajaxCFC, CFAjax, JSMX, SRS.

## Frameworks PHP

Un framework PHP peut traiter une base de données et construire des pages avec les données récoltées. Bien que PHP5 dispose de la classe SimpleXML qui permet de créer des documents XML et par conséquent d'interagir avec XMLHttpRequest, il est cependant préférable d'utiliser des bibliothèques spécialisées, qui peuvent être très simples comme Sajax, ou plus complètes comme Xajax, capable d'interagir avec diverses bases de données.

## Frameworks Java

Java est utilisé pour fournir des services Web ou pour générer des pages Web dynamiques.

* ZK Framework
* Google Web Toolkit

## .NET

* Ajax .Net. Plateforme ajax de Microsoft.
* Silverlight. Plateforme d'applications Web incluant ajax.
