Les cadres d'applications 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 HTML 5 complète le framework aussi bien.

Quel framework Ajax choisir?

Si l'on veut utiliser un framework Ajax pour faire des pages dynamiques sans avoir a réécrire soi-même toutes les fonctions Ajax et les tester sur tous les navigateurs reste à choisir quel framework!
Ils sont si nombreux que l'on se demande lequel utiliser. Si l'on se trompe dans mon choix on sera obligé plus tard de refaire ses pages avec un framework différent!

On a moins de chance de regretter le choix d'un framework si l'on adopte un des plus utilisés car ils sont continuellement complétés de nouvelles extensions et disposent d'un support important par les utilisateurs.
Parmi ceux-ci, on peut distinguer jQuery, bien documenté, Mootools qui est modulaire, Ext JS qui offre de nombreux widgets de RIA.
L'interaction avec un langage coté serveur guidera aussi le choix.

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

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 qui permet de faire fonctionner les applications Web hors connexion.

Plus d'informations

Forum

[framework RICO] Pb de filtres

26-11-2007 11:27:29

benat64

Bonjour à tous, J'essaye d'utiliser le framework open rico. J'ai 4 requêtes à exploiter, par contre elles ont les même champs. Je pars de l'exemple ex4btn dans lequel je voudrais rajouter des filtres en entête de colonne comme dans l'ex3. Je n'y arrive pas. Je me plante complètement sur la compréhension des fonctions. Si quelqu'un utilise ce framework et pourrais m'aider dans la compréhension des examples fournies ce serait sympa. Autre chose : Je démarre de l'ex3 dans lequel je charge le module onglet (Rico.loadModule('Accordion');) Toujours avec mes 4 requêtes je voudrais en cliquant sur chacun des onglets activer la requête désirée avec son affichage. Merci pour votre aide Amicalement Benoit
30-11-2007 16:31:15

webmaster

Juste un avis: a moins que vous n'ayez besoin de fonctionnalités propres à Rico, JQuery ou mootool seraient d'un emploi plus évident. Si Rico convient mieux à votre application, la question ne se pose pas. Mais je ne pense pas qu'il y ait assez d'information données pour pouvoir fournir un avis, il faudrait un exemple de code.

Problème de requête exécutée plusieurs fois avec Prototype et Scriptaculous

24-12-2007 11:53:21

chaying

RESOLU !!!!!!!!! Bonjour J'utilise prototype et scriptaculous. J'ai le code suivant :
Event.observe(window,'load',function()
{
    Event.observe($('container'), 'DOMNodeInserted', init);
}.bindAsEventListener());
 
var init = function()
{
    Event.observe($('buttAlert'), 'click', function()
    {
        alert('alert !!');
    }.bindAsEventListener());
}
qui fonctionne mais qui s execute enormement de fois (je crois autant quil y a Nodeinserted) alors que je souhaite quil ne sexecute qune fois .. Si quelqun a une idee ? Merci
25-12-2007 04:53:32

chaying

Je m'auto reponds : Il faut envoyer event comme parametre des fonctions d observation, puis l arreter avec un "Event.stop(event);" a la fin de celle ci. Merci
© 2006-2014 Xul.fr