Le gadget Ajax
Par Laurentj le samedi, janvier 7 2006, 10:22 - Technologies Web - Lien permanent
Ajax c’est un gadget de merde pour palier à des conceptions déficientes intellectuellement parlant
Ça résume trés bien ce que j'ai déjà dit dans un billet précédent.
Tout le monde s'en sert pour tout et n'importe quoi, et surtout pour palier les inconvénients de vieilles technologies auxquels tout le monde (les éditeurs en particulier) s'accroche déséspérement, même si elles ne sont pas fait pour (HTML par exemple..). Sauf Mozilla avec son XUL, XBL &co (même si ce n'est pas parfait)...
Résultat : des applis web HTML qui paraissent sexys, mais qui sont pour la plupart déficientes en terme d'accessibilité, voire cauchemardesque en terme de maintenance, de complexité etc...
Edit : Laurent a précisé ses propos, (d'où la citation précédente barrée) :
non, ce n'est pas Ajax, au même titre que Flash, qui est de la merde. C'est son utilisation immodérée sans grand bon sens. Et Ajax, c'est lourd
Commentaires
"Quand on a un marteau dans les mains, tous les problèmes ressemblent à des cous"
D'accord, à fond! Technologiquement ajax est très "sympa", et répond à une vraie question, mais sa réponse n'est pas satisfaisante
Ce qui est fascinant, c'est toute cette hargne et ce dédain pour une techno qui, si elle existe depuis un certain temps, commence tout juste à émerger. On pourrait en débattre calmement, utiliser des mots moins violents. Mais non : "c'est de la merde", "les cons sur Internet"... Vous savez, la constipation chronique ça se soigne. Ou alors il n'y a que XUL comme laxatif ? :-) Pour revenir un instant sur le précédent billet (Ajax obsolète), je pense que cela ne sert à rien de confronter les technos. Chacun peut se sentir plus ou moins à l'aise avec certaines. On parle de la complexité d'Ajax alors que je trouve ça enfantin. A l'inverse, des frameworks comme RubyOnRail dont on loue la simplicité me sont trop "opaques". Cela vient simplement du fait que j'ai un goût pour la programmation "low-level". La même raison qui me fait préférer le C au C++ ou Java. Question de goût donc. Après, je rejoins tout à fait ce qui se dit à propos de l'accessibilité avec Ajax et c'est pour cela que oui, il faut savoir raison garder et ne pas en placer n'importe où et n'importe comment. Mais de là à prétendre (ou presque) qu'il faut le jeter à la poubelle parce que "y a mieux, mais ça existe pas encore"... Hum... Désolé, je n'ai ni l'envie, ni le temps d'attendre.
Le souci des gens quand ils critiquent ajax est qu'ajax est là, il apporte une solution à un problème récurrent, banal, même. En revanche, il n'y a pas de solution de remplacement et qui soit aussi portable.
Gabriel : le souci des gens c'est qu'ils se contentent de solutions bancales. Et je pense qu'on a tout à fait le droit de critiquer une solution quand celle-ci est bancale, et ne solutionne pas tout à fait les problèmes récurents dont tu parles. Surtout quand on propose des alternatives qui elles, répondent beaucoup mieux aux besoins, comme je le fait (tu remarqueras que je ne critique pas gratuitement).
Antoine :
Bien sûr que si ça sert à quelque chose. À montrer qu'il ne faut pas utiliser tout pour n'importe quoi. Comme je le disais dans un vieux billet, il faut savoir utiliser les bonnes technologies qui correspond à ce que l'on veut faire. J'essaie de montrer que non, HTML n'est pas fait pour faire des interfaces utilisateurs, tout comme XUL n'est pas fait pour afficher des documents. Et que non, Ajax n'est pas à utiliser pour n'importe quoi n'importe où. Ajax c'est bien pour interroger des services web, mais certainement pas pour modifier des parties entières de pages web.
Ici ce n'est pas une histoire de se sentir à l'aise ou pas avec une techno, c'est une histoire d'utiliser la bonne technologie pour ce qu'on a à faire. Utilises-tu un tournevis pour enfoncer un clou ? non, tu utilises un marteau. Tu utilises l'outil, la technologie qui te permet de réaliser ton objectif dans les meilleures conditions possibles, le plus efficacement possible.
Quand je parle de complexité d'Ajax, je parle de sa complexité en rapport à d'autres technos. Dois tu utiliser xmlhttprequest pour que, lorsque l'on clique sur un mot, cela charge une nouvelle page et l'affiche ? non, tu met une balise <a>.
Deux points sur lesquels j'aimerais intervenir :
1/ J'en ai marre d'entendre parler d'"AJAX" comme d'une "technologie", et qui plus est d'une technologie "émergente".
2/Le problème avec XUL, c'est qu'il n'est reconnu que par les navigateurs basés sur Gecko, et il a beau etre très simple à manier, ce n'est pas demain la veille que les webmasters proposant des services abandonneront leur pages tout en HTML. C'est ce qu'il y a encore de plus accessible (j'entends par là accessible via n'importe quel materiel, n'importe quel soft), bien que ça ne soit pas le plus adapté en terme d'interface client.
J'entends bien qu'il faut savoir utiliser les bonnes technologies, mais là on se confronte, parfois, à un problème de subjectivité. Tu dis que le HTML n'est pas fait pour les interfaces utilisateurs. Et pourtant certains l'emploient (moi par exemple, et j'en conçois aussi) et en sont très content. C'est plus une question de contexte d'utilisation, que l'utilsation elle-même. De toutes manières, mon propos n'est pas là. Sur le fond tout le monde est d'accord parce que le bon sens est, relativement, universel. Je réagis simplement parce que je ne trouve rien de plus horripilant que ceux qui clouent au pilori avec une argumentation pauvre (je ne parle pas de toi hein !). Affirmer purement et simplement que ceci ou cela "c'est de la merde", etc. c'est du fachisme si l'on n'est pas capable de dire posément et clairement pourquoi. Ils sont nombreux les aboyeurs qui n'ont jamais foutu les mains dans le cambouis et qui usent de leur talent réthorique pour vider une bile trop âcre. Bon, l'énervé en question a affiné son propos et il faut savoir lui rendre justice. Mais en attendant, y a plein de gens dont on dévalorise le travail et les envies. Et tous ceux qui font du bon boulot, on en parle de temps en temps ? Ceux qui cherchent, qui proposent ? Oh bah non, il fait de l'Ajax, son truc permet pas d'utiliser le bouton Back, c'est de la merde ! Et pour conclure, amusons nous un peu : remplaçons le mot Ajax par XUL et voyons un peu ce qui se passe. :)
"Quand on a un marteau dans les mains, tous les problèmes ressemblent à des cous" Excellent !
Sinon je suis de ton avis sur AJAX: trop complexe, c'est du "bidouillage" pour moi meme si j' ai l'ame d'un bricoleur.
On peut faire de l'AJAX et rester accessible, c'est juste une question d'organisation et de respect des bonnes pratiques. Critiquer l'outil est toujours une mauvaise solution, il vaut mieux réfléchir sur les usages. Le réctificatif de Laurent Gloaguen est en ce sens parfaitement bienvenu.
Alors je ne suis ni pour ni contre. Mais j'en ais marre de voir des posts qui démonte sans arrêt cette nouvelle combinaison de technologies, sans réponses à ce à quoi on pourrai en faire une vraie utilisation. Ma question en d'autres termes : Dans quel cas alors, l'AJAX s'appliquerai t il intégralement ? Et enfin, en quoi alors AJAX est il utile ?
Enfin je terminerai par une dimension d'utilisabilité et je pense que c'est à l'ordre du jour étant donné qu'il y a de plus en plus de conférence sur ce thème. Ce n'est pas la techno en elle même qui est importante mais bien le produit fini qui n'est autre que ce qui est livré au client. Et effectivement un produit qui est très beau et hyper fonctionnel technologiquement, ne peut être acessible à personne si l'on n'y comprends rien à l'interface utilisateur. Donc AJAX peut résoudre partiellement ces lacunes. (exemple : autorefresh je pense notamment à http://www.netvibes.com/
Je trouve alors, que cette citation ne tiens pas en compte l'aspect purement utilisabilité. Au lieu d'un bouton : "Cliquez ici pour rafraichir" cela serai remplacé par AJAX avec un autorefresh. Surtout que cela est présent dans le DOM;donc conforme.
En tout cas je suis entièrement d'accord qu'AJAX est utilisé à tort et à travers. AJAX c'est comme l'alcool ! :) "L'abus d'AJAX est dangereux pour le WEB. AJAX est à consommer avec modération."
Un dernier point et qui je pense est important : l'AJAX existe vraiment depuis longtemps, ce n'est simplement qu'une redécouverte. (C'est toujours bon de le rappeler)
Utilises-tu un tournevis pour enfoncer un clou ? sa m'arrive quand je retrouve plus mon marteau !
Ajax, pour "Assynchronous JAva script + XML", est la dénomination accordée à l'utilisation regroupée de Javascript, XmlHTTPRequest, DOM, XML et une technologie serveur, quelle qu’elle soit (PHP, Java, .net, CGI, ….voir même du pur statique).
Adulée par les uns, dénigrée par les autres, cette façon de faire peut proposer des avantages en terme d’ergonomie, et des économies en terme de bande passante et de traitements coté serveurs.
L’essentiel étant de se souvenir à tout moment que, comme le dit la publicité télévisée, « Quelques goutes suffisent ».
La suite
Salut les gars; moi qui suis newbie dans le domaine des softs web, et bien je n'ai rien appris par ce que vous dites. Ni sur ajax, ni sur xul...pas très constructif....que du vent je vous dit...
pbs : toutes ces discussions n'ont pas pour objectif d'apprendre quoi que ce soit aux newbies. C'est pour les initiés ;-) Il y a d'autres sites pour les newbies.
:))))
Comme toutes les technologies qui sont disponibles ont peut réaliser des choses qui sont imbuvables. Tableaux HTML pour le layout, CSS utilisé pour créer des images à coup de span, et des tonnes de javascript pour faire du transactionnel.
AJAX représente un réel problème pour l'accessibilité de nombreuses applications, comme le souligne justement Laurent. Ce qui m'inquiète dans la plupart de ces développements, c'est que la qualité du développement est complètement négligé. Un concepteur Web devrait dans tout développement de sites Web se poser certaines questions :
Un exemple de chose par exemple qui peut être réalisé de façon plus élégante avec XForms qu'une solution uniquement Javascript: Google en XForms.
AJAX fonctionne car il permet de développer des clients qui fonctionneront sur toutes les plateformes. Ca ne va pas plus loin que ça. Et aucune autre technologie, aussi bonne soit elle (XUL) ne fournit ce service.
benoit : ajax et xul sont complementaires. On fait de l'ajax en XUL. La différence avec HTML c'est qu'on en fait moins car XUL offre plus de possibilité qu'HTML.
Maintenant, je commence à en avoir un peu marre d'avoir ce genre de commentaire à chaque billet où je parle d'ajax et de Xul : OUI, JE SAIS QUE XUL N'EST DISPONIBLE QUE CHEZ 10% DES INTERNAUTES.
Sur ce, je ferme (encore) les commentaires .