[Dev WEB] - Avez-vous entendu parler de AJAX ?

Répondre
Partager Rechercher
Je viens de lire ça aujourd'hui sur 01NET :

Citation :
Les développeurs mettent de l'Ajax dans le Web
Cette technique permet de développer des applications riches et interactives sur n'importe quelle plate-forme, sans plug in.


On n'avait pas vu cela depuis longtemps. En quelques mois, Ajax est passé d'une technique obscure à l'acronyme en vogue qu'il faut avoir sur son CV. Les développeurs n'ont plus que ce mot à la bouche. C'est la nouvelle pierre philosophale des applications Web. Celle qui va tenir les promesses de Java : créer des applications Web interactives et fonctionnant sur n'importe quel navigateur.

En général, les applications Web traditionnelles sont lentes. Et leur interactivité est illusoire. A chaque clic, une requête est envoyée et la page HTML réactualisée. Ajax est donc une nouvelle technique de développement. L'acronyme signifie Asynchronous Javascript and XML. Ses applications sont écrites en Javascript.

Elles échangent leurs données en asynchrone avec le serveur Web, via Soap ou un quelconque service Web. Puis, elles contrôlent l'affichage sur le navigateur en HTML dynamique. C'est comme si chaque page Web était une mini-application client-serveur.

Le résultat est spectaculaire. Il n'y a qu'à observer la différence entre les cartes de Maporama.fr et celles de Viamichelin.fr. Dans le premier cas, la navigation est ralentie par les rafraîchissements successifs. Dans le second, il est possible de zoomer et de recentrer le plan comme s'il s'agissait d'une application locale. L'ensemble est plus réactif, car les requêtes s'effectuent en tâche de fond.

Mais les exemples les plus éloquents restent ceux de Google Maps, GMail ou Outlook Web Access. Des applications rapides, avec des fonctions jamais vues, comme le glisser-déplacer ou les raccourcis clavier. Le tout, sans plug in et compatibles avec l'ensemble des navigateurs sur toutes les plates-formes. Et c'est là le grand avantage d'Ajax, notamment face à Java ou à Flash.

Une approche plus valorisante

Cette technique n'est pourtant pas nouvelle. Elle a été inaugurée par Outlook Web Access en 1998. Microsoft avait alors doté Internet Explorer de la fonction XMLHttpRequest, qui permet d'échanger des données de façon asynchrone avec le serveur. Mais l'exemple avait été peu suivi, car Javascript demande de la puissance processeur sur le poste client. Depuis, la vitesse des machines a décuplé, et Google, AOL et Flickr ont montré de bons exemples de mise en oeuvre.

Tout s'est accéléré au mois de mars dernier, quand un consultant d'Adaptive Path a formalisé la technique et lui a donné le nom ronflant d'Ajax. Depuis, le terme s'est diffusé telle une traînée de poudre. Les frameworks se multiplient : Sarissa, Prototype, Dojo, Sajax, etc. Même Microsoft s'y intéresse. Il présentera bientôt Atlas, sa mise en oeuvre dans Visual Sudio.

Pourquoi Ajax plaît-il tant aux développeurs ? Il les aide à programmer à nouveau. Beaucoup considèrent que le développement Web est un retour en arrière. Avec Ajax, on met en place un modèle plus traditionnel, avec une gestion des événements où l'on réagit aux clics ou aux frappes, comme en client-serveur. Une approche bien plus valorisante que coder des scripts ou enchaîner des pages.

Du coup, certains s'emballent. Ils voient dans la nouvelle technique Ajax le modèle de développement de tous les types d'applications client dans une architecture orientée services (SOA) . La technique semble pourtant loin d'être mature. Alors, simple battage médiatique ou début de révolution ?
Je suis fort intéressé par la mise en place de ce système d'évènements de types "clients". Je voulais savoir si certaines personnes présentes avait déjà testé/codé, et pouvait nous en dire plus ?

Ils parlent d'exemple tel GMail. Je n'utilise pas ce service, les utilisateurs peuvent-ils me décrire si ils ont observés une réelle différence dans leur approche "web" traditionnelle ?

On peux noter par ailleurs certains points noirs, telle l'utilisation du langage de base javascript qui s'avère fort fastidieux et lourd, n'étant pas un langage de haut niveau :

Citation :
Les limites d'Ajax

Un débogage cauchemardesque.

Il existe très peu d'outils de test et d'aide à la conception. Pour créer une interface riche, il faut connaître sur le bout des doigts les différences entre les navigateurs et tester sur chaque plate-forme pour s'assurer que le résultat est correct.

Javascript n'est pas un langage de haut niveau.


Il n'est pas totalement orienté objet, et les différences entre les plates-formes posent un problème. Et, si les lignes de code sont nombreuses, des problèmes de performance peuvent se poser.

Une technique encore peu outillée.

Son succès passera par le développement de frameworks standards. Les premiers sont apparus, capables de masquer les détails de chaque navigateur. On attend donc avec impatience le fameux framework Atlas de Microsoft
En tout cas c'est le principe technique de fonctionnement dont j'ai toujours rêvé.

Qu'en pensez-vous ? J'attends vos retours d'expériences, et votre avis à ce sujet
Salut Dryss,

J'utilise effectivement dans mon cadre professionnel l'AJAX depuis bien longtemps (longtemps avant que ça devienne à la mode avec un nom d'équipe de foot néerlandaise )

la méthode XMLHttpRequest existe effectivement depuis fort longtemps.

C'est une très tres bonne technologie qui malheureusement comme beaucoup d'autre technologie peu être mal utilisé.

Par exemple:

Dans mon ancienne boite de service on en avais marre de codé toujours les même contrôle et autre en javascript pour les client web, donc on à commencer à centraliser le code sous forme d'objet javascript puis est venu la question de la communication, la on à écrit un objet utilisant XMLHttpRequest pour la communication des données avec le serveur. On allait donc récupérer un fichier XML de data (style webservice on vas dire) qu'on donnait à manger à nos objets JS qui s'occupait de renseigner tout l'écran (et même plus) du coup on avait des page purement WEB avec juste du javascript dedans, pas de php ou autre jsp à la con qui melange code et présentation (et que personne vienne me dire le contraire c'est bon, à la limite c'est maquillé mais ça reste le mélange des deux ).

Par contre autre exemple, chez l'éditeur chez qui je bosse (pour le moment depuis un an mais bon... c'est une autre histoire ) ben on s'en sert très mal (j'ai eu beau le signaler à mon chef, je doit pas être convainquant on dirais, c'est pourquoi je cherche à me barrer d'ailleurs ) . En fait on fait toute les communication avec XMLHttpRequest du coup on transit du code et de la présentation. Alors certain dans la boite me disent "mais non regarde on à des pages HTML" ok mais les pages web sans la requete au serveur affiche quedale et dans les requetes on traine un max d'info de presentation mélangé au donnée ...


Bref je connais bien je pense (y'a sûrement plus callé mais bon ) et je pourrais t'en parler des heures, mais comme tout le reste, le plus important est de bien connaître le problème à résoudre pour choisr les bon outil ... (prendre un bazooka pour tuer une mouche... tout le monde connais l'histoire )

Si tu veux qu'on en discute je croit que tu as mon msn, yahoo, icq, jabber ???

@Pluche.

ps: y'a tout plein de framework qui fleurissent se disant AJAX compliant mais bon... honnêtement dans ce cas je croit qu'il vaut mieux faire son truc tranquillou c'est plus sur
Question de n00b qui se demande: C'est très difficile à maîtriser quand tu connais bien bien javascript déjà?

Nan c'est pas pour moi, je suis trop mauvaise.
Citation :
Publié par Nemi
Question de n00b qui se demande: C'est très difficile à maîtriser quand tu connais bien bien javascript déjà?
Non pas vraiment. Dans l'ensemble des technologies que l'on appelle aujourd'hui AJAX, le plus difficile reste encre le javascript-ecmascript.
J'avais écrit, il y a deux ou trois ans, un petit script utilisant le javascript asynchrone (les buzzwords sont tellement pathétiques...), pour une interface d'admin à laquelle seules quelques connaissances (utilisant toutes un navigateur gecko) devaient avoir accès.

En effet, le problème pour moi, c'est que la méthode XMLHttpRequest n'est absolument pas standardisée. Elle est carrément propriétaire, gérée totalement différemment selon les navigateurs qui l'implémentent. (Genre pour IE faut passer par un ActiveX ).
Je me refuse complétement d'utiliser des méthodes propriétaires sur une page "publique", aussi j'attends assez impatiemment l'implémentation du module Load&Save du DOM3, qui fait la même chose, et bien mieux, tout en étant un standard...
en fait c'est pas vraiment directement XMLHttpRequest qui est en cause mais plutot le parsing XML qu'il entraine.

d'ou l'utilisation de l'activeX ms pour les navigateur IE et autre methode pour les autres. Mais bon, quand je lit les articles sur IE7 j'ai peur que ça soit pas pret de changer puisqu'au dernière nouvelle IE 7 ne passe même pas les test Acid2 huhuhu
Post
L'utilisation d'Ajax est intégrée à divers niveaux de vBulletin 3.5 dont la version RC3 est disponible depuis hier. La version finale devrait suivre d'ici deux semaines avec de l'espoir.

La mise en pratique est la suivante :
  • Les messages rapides ne nécessitent plus le rechargement de la page pour être ajoutés à la discussion. (toutefois, cette fonctionnalité n'est pas activée sur JOL)
  • Toujours sans recharger la page, on peut modérer ou éditer les messages et discussions : modification de message, modification de titre, fermeture, mise en persistant, suppression, ...
  • On peut recevoir les messages d'erreur sans changer de page : ainsi, aucune chance de perdre le contenu d'un message ou d'un formulaire quand on l'envoie.

Dans tous les cas, de nombreux gains de temps pour l'utilisateur, et de bande passante pour le serveur.
Tapez surtout pas, mais votre truc, là, AJAX, ça serait pas un peu comme de l'ASP.NET ??

Sérieusement.

J'ai découvert un peu cette techno ( .NET ) et ça me semble correspondre aux spec que vous décrivez.
question a deux centimes :
Qu'apporte Ajax par rapport au couple XMLHttpRequest + XSLT ?

Si j'ai bien compris, c'est la meme chose qu au dessus SAUF qu'il faut installer un plugin (alors que les deux normes sont W3C compliantes). Et installer un plugin, heu ... comment dire ?
Citation :
Publié par Ildefonse
Si j'ai bien compris, c'est la meme chose qu au dessus SAUF qu'il faut installer un plugin (alors que les deux normes sont W3C compliantes). Et installer un plugin, heu ... comment dire ?
Non, aucun plugin nécessaire avec Ajax. Du moins pour l'utilisation qui en est faite sur les forums vBulletin.
AJAX n'est pas une technologie nouvelle ou quoi que ce soit dans le style, c'est juste un concept marketing qui consiste à utiliser intelligemment des choses comme le JS, le DOM ou les CSS, bref ce n'est qu'un nom.
Citation :
Publié par Ildefonse
Qu'apporte Ajax par rapport au couple XMLHttpRequest + XSLT ? [...]
(alors que les deux normes sont W3C compliantes)
Comme dit plus haut, XMLHttpRequest est tout sauf normalisé.

(Sinon, l'avantage du javascript par rapport aux XSLT, c'est que c'est plus supporté (pense à Opera), et que toutes façon faut utiliser du javascript pour XMLHttpRequest. Donc pas besoin de s'embêter avec des XLST...)
Citation :
Publié par Landstalker/Mouna
Super impressionnant , je n'imaginais même pas qu'un navigateur pouvait faire ça ...
marche pas sous opera deja =)

j'ai teste les exemples, la moitie ne fonctionne pas sur mon IE5.5 (crash), et mise à part le site ou l'ont peut deplacer les sections, je n'ai rien trouve de transcendant.

Si j'ai bien compris, cela formate un gros JS qui s'occupe d'interfacer tout ca ?
Avec les problemes de compatibilite IE/Mozilla, c'est tendu non ?
Citation :
Publié par Landstalker/Mouna
Super impressionnant , je n'imaginais même pas qu'un navigateur pouvait faire ça ...
Voilà un parfait exemple de AJAX. Aucune nouvelle technologie, aucun plugin, pas besoin d'un navigateur spécifique. Et une fois l'application faite, "Super impressionnant , je n'imaginais même pas qu'un navigateur pouvait faire ça". Ca résume bien le tout.
Citation :
Publié par Blacky---
Aucune nouvelle technologie, aucun plugin, pas besoin d'un navigateur spécifique. Et une fois l'application faite, "Super impressionnant , je n'imaginais même pas qu'un navigateur pouvait faire ça". Ca résume bien le tout.
Je sais pas si les exemples sont très représentatifs, mais sur les 5, sous Opéra 8:
2 "Unsupported browser" (RSS et explorer)
1 Reste désespérément sur une page blanche (le portal)
1 Fonctionne "presque" correctement (le tableau périodique: un problème graphique de transparence, qu'IE gère, mais pas Opéra visiblement)
1 Seul semble fonctionner correctement (la Carte)

Ca fait pas terrible pour quelque chose d'universelle, qui ne demande aucun plugin et aucun navigateur spécifique Certes, les possibilités sont intéressantes (enfin d'après ce que IE affiche, lui aussi, il en loupe peut etre une partie ), mais y'a finalement le meme problème que pour quasiment toutes les applications Web: la compatibilité inexistante.
Citation :
Publié par Dienekès
Tapez surtout pas, mais votre truc, là, AJAX, ça serait pas un peu comme de l'ASP.NET ??

Sérieusement.

J'ai découvert un peu cette techno ( .NET ) et ça me semble correspondre aux spec que vous décrivez.

Je repose ma question ... surtout après avoir vu les exemples.

Allez, je fais même l'effort de reformuler : AJAX, ça fait la même chose que de l'ASP.NET, non ? Peut-être pas de la même façon, mais le résultat est le même, non ?
Non voilà t'as une réponse..

Du reste AJAX a rien de révolutionnaire et n'est pas une solution tant que les standards ne sont pas complètement établis et implémentés .. Sinon communiquer par frame invisible qui te renvoit du js pour modif ta page c'est super aussi et ça marche partout ( sauf navigateurs texte )

Un bon article sur OpenWeb
je me demandais comment gmail fonctionnait, mais la j'avoue c'est hallucinant...
je vais m'intéresser a ca de plus pres, moi qui n'aime pas le javascript ca va me forcer a l'apprendre

le truc qui est impressionant c'est surtout le fait que ca ne soit rien de nouveau ou de compliqué, mais que le résultat est... wow.
Citation :
Publié par Elrick de Marly
On allait donc récupérer un fichier XML de data (style webservice on vas dire) qu'on donnait à manger à nos objets JS qui s'occupait de renseigner tout l'écran (et même plus) du coup on avait des page purement WEB avec juste du javascript dedans, pas de php ou autre jsp à la con qui melange code et présentation (et que personne vienne me dire le contraire c'est bon, à la limite c'est maquillé mais ça reste le mélange des deux ).
Si tu codes objet je vois pas où est la difficulté de séparer le code pur de la présentation ( veux un exemple ).
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés