Accueil Ajax XUL JavaScript CSS HTML 5 FAQ-Forum

Les cadres d'applications Ajax

ou frameworks Ajax

La meilleure technique pour construire des pages web dynamiques est Ajax . Le code JavaScript imbriqué dans la page est utilisé pour envoyer des requêtes au serveur et pour modifier la page. Du coté serveur, des traitements sont nécessaires pour répondre aux requêtes: trouver les informations, ou enregistrer des données. Pour cela on a besoin d'un cadre d'application spécialisé. Il se compose toujours de fonctions JavaScript, et éventuellement d'une bibliothèque coté serveur. Il en existe dans de nombreux langages de programmation et sous différents environnement, mais seuls les principaux sont pris en compte ici.

Sommaire

Pourquoi un framework?

Le framework est en fait le moteur dont parle l'article de J. J. Garrett, qui supprime l'attente du lecteur envers le serveur.
Il fournit les fonctions classiques JavaScript pour utiliser l'objet XMLHttpRequest, pour tous les navigateurs, et toutes les fonctions d'interaction avec le serveur.
En fait, certains frameworks peuvent aller plus loin et permettre de créer ce que l'on appelle des "applications clients riches", des applications fonctionnant à distance, sur un navigateur, dotée d'une interface graphique et des mêmes fonctionnalités qu'une application locale.

Fonctionnalités d'un framework Ajax

Tous les frameworks sont capables de communiquer avec le serveur, donc de lire des fichiers, d'envoyer des données ou de passer des commandes à exécuter sur le serveur, ce qui suppose l'emploi d'un script coté serveur.
Les frameworks proposent souvent des composants qui tirent parti de la communication asynchrone avec le serveur.
Les exemples classiques sont les bouton, panels à ongles, grilles, listes déroulantes et autres widgets.
Un exemple plus innovateurs, les "box" tendent à se répandre, avec comme exemples Lightbox et Slimbox. Ce sont des galeries d'images qui les placent côte à côte à l'écran et utilisent Ajax pour un affichage instantané.

Les frameworks peuvent être commandés du coté du serveur et dans ce cas, les composants sont créés sur le serveur avec un langage de scripts comme PHP et envoyés au navigateur. Ajax sert à transmettre les actions de l'utilisateur et prendre en charge les résultats.

La capacité de fonctionner hors-ligne, comme cela est permis par Google Gears, peut être ajoutée au framework aussi bien.

Bibliothèques JavaScript

Un grand nombre de frameworks sont constitués en fait uniquement de fonctions JavaScript, et laisse la partie serveur au soin du programmeur.
La plupart d'entre eux utilisent XML comme format de données, et quelquefois JSON, un autre format textuel.
Une librairie JavaScript s'utilise simplement à partir d'une page Web avec une balise de la forme:

 <script src="prototype.js" type="text/javascript></script>
Cette balise inclut le fichier "prototype.js" contenant les fonctions JavaScript dans la page et les rend accessible au navigateur.

Frameworks PHP

Coté serveur, il serait possible au programmeur d'utiliser les fonctions et classes PHP pour répondre aux requêtes du navigateur. PHP 5 notamment dispose de la classe SimpleXML qui facilite le chargement d'un fichier XML et l'accès au contenu ainsi que les modifications. Cela nécessite des connaissances spéciales, et l'écriture de fonctions nouvelles, c'est pourquoi l'usage d'un framework peut faciliter la tâche.

Frameworks Java

Java est le langage le plus utilisé par les entreprises qui proposent des services web. L'utilisation d'un framework permet alors d'ajouter aux services les avantages que procure Ajax: modification instantanée de la page et utilisation de fichiers XML pour échanger de l'information
Les frameworks les plus communs, propres à java sont:

Il est aussi possible d'utiliser JavaServer Faces qui propose maintenant des possibilités propres à Ajax.
Le framework ThinWire permet d'écrire une application Web comme s'il s'agissait d'une application locale, le framework gérant l'interaction avec le navigateur.

Frameworks .NET

Frameworks ColdFusion

Parmi les librairies, on peut trouver:

Ajax et XUL

Ajax est fondé sur JavaScript, et XUL insère aussi du code JavaScript dans le code XML pour définir l'interaction d'une interface graphique. Les deux systèmes fonctionnent sur le navigateur Mozilla. Le premier fait interagir une page web avec des programmes sur le serveur et le second affiche une interface soit sur un poste local soit sur un poste distant avec le navigateur.
La principale différence est dans l'utilisation de Canvas (balise HTML) pour étendre Ajax, et pour étendre XUL, XPCom et XBL.

Au-delà d'Ajax

Certains développements en cours vont renforcer l'importance d'Ajax sur le Web en fournissant des standards pour les applications Web riches, principalement HTML 5, qui ajoute des fonctionnalités d'applications à HTML et Google Gears qui permet de faire fonctionner les applications Web hors connexion Internet.

Plus d'informations