Aller au contenu | Aller au menu | Aller à la recherche

jy[B]log

Journal d'un geek

dimanche, novembre 6 2005

Faire de l'Ajax sans le savoir

Dans un billet précédent, "Ajax est obsolète", j'expliquais que pour moi, Ajax n'est pas une solution d'avenir car trop complexe et trop bas niveau (le fameux xmlhttprequest).

J'avais alors émis l'idée d'avoir plutôt des balises spécialisées, interpretées directement par le navigateur, qui se chargeraient des opérations bas niveau et avec lesquelles on aurait juste à indiquer des informations minimales dans des attributs comme l'URL du service web à invoquer. Elles permettraient donc de faire de l'Ajax sans le savoir, sans avoir à taper des lignes de codes javascript complexes. Exactement en fait comme la balise HTML <a> ou <form>, qui utilisent finalement une forme d'Ajax sans que vous le sachiez : elles ont une url dans un attribut, elles envoient des données via xmlhttprequest à cette url, et elles modifient (ou plutôt remplacent) la page courante à partir du contenu de la réponse reçue.

J'avais donné alors l'exemple de la balise template en XUL qui est parfaitement dans cet esprit : on cache ce qui est bas niveau (xmlhttprequest), on permet d'éviter l'usage du javascript. Le résultat est alors une techno simple à utiliser pour développer, économe en temps de dev, de débuggage, et économe en bande passante ou en ressource système (il n'y a pas 50ko de scripts à executer puisque les balises sont directement interpretées par le navigateur).

Je voulais commencer à faire une bibliothèque JS qui permettrait de vous montrer concrétement mon idée. Mais en fait d'autres l'ont fait avant moi. Je suis en effet tombé, au hasard du surf, sur l'offre de backbase. Ce qui est intérressant sur ce site, c'est le code source de leur page. Que voit-on ? Des balises <include>, <event>, <buffer>, des attributs behavior, followstate etc.

On devine alors aisément à quoi elles servent : inclure des morceaux de pages à des endroits précis, qui sont éventuellement rechargés à l'apparition d'évènements particuliers, déclenchés par des actions spécifiques de l'utilisateur. En clair : vous avez le même résultat que ce que l'on fait en Ajax, mais sans avoir à écrire une seule ligne de code javascript. Quelques balises et quelques attributs bien placés, et vous voilà avec une interface utilisateur dynamique.

Exactement donc dans le même esprit que la balise html <a>, <form>, ou la balise XUL <template> : simplicité, efficacité. Bref, une techno accessible à tout développeur web, et pas seulement aux geeks.

Ce qu'a fait Backbase a toutefois un inconvénient : avoir une page utilisant leurs balises nécessite d'inclure leurs fichiers JS qui sont volumineux. Ce javascript sert à parser la page, et à interpreter les balises et attributs. On a donc une page lourde et longue à charger mais aussi longue à s'éxecuter.

Cependant, imaginez que le navigateur puisse interpreter nativement des balises du même style que celles de Backbase. Là je pense qu'on pourra vraiment parler de web 2.0 (ou 3.0 ?) ;-) (tout en résolvant une partie des problèmes d'accessibilité posés par Ajax).

jeudi, septembre 29 2005

Ajax est déjà obsolète

À coté du buzz web 2.0 qui ne veut rien dire et ne sert à rien sinon à vendre du vent, il y a le buzz Ajax qui lui est un peu plus concret. Il fait fureur en ce moment, tout le monde veut faire de l'Ajax, et tout le monde trouve cette technologie révolutionnaire, malgré qu'elle soit vieille de plusieurs années. Mais personnellement, je trouve que cela ne va pas vraiment dans le bon sens, et qu'il serait préférable de s'orienter vers d'autres techniques plus efficace et simple pour avoir du contenu dynamique.

Lire la suite...

mercredi, septembre 28 2005

Le buzz à la con du moment : web 2.0

Aprés le buzz Ajax qu'a lancé une boîte qui voulait faire croire qu'elle avait inventé quelque chose (en plus en choisissant un nom digne d'un produit pour chiotte, c'est dire..), voici le buzz web 2.0, dont tout le monde parle, mais que personne ne sait vraiment définir.

Tout simplement parce que ce n'est rien, du vent. C'est juste pour ceux qui veulent crâner un peu ou tenter de montrer qu'ils s'y connaissent (un peu) en web, qu'ils maîtrisent des soit disant nouvelles technologies...

- Ouai ! Moi je fais de l'Ajax ! (na-na-nère)
- Hein ? Tu fabriques un désinfectant chez toi ? Un truc qui nettoie tout du sol au plafond ?

Je n'ai pas envie de m'étendre sur des explications. D'ailleurs, certains le font bien mieux que moi, comme François qui demande : Etes-vous web 2.0?

Allez, circulez, y 'a rien à voir, comme disait Coluche..

PS : ah mince, j'entretiens le buzz avec ce billet...
PS2 : ah tient, d'autres trouvent aussi que c'est totalement crétin ce buzz. Même pas fait exprès.
PS3 : Aprés avoir vérifié ce que c'était le web 2.0, je suis rassuré, je suis à jour. Ouf ! C'est bon, je suis dans le Hype !