Vous êtes sur Barbablog et tu kiffes jeune. Cherche sur ce blog...

Quelle librairie javascript utiliser ?

Entre les Prototype, Dojo, Moofx , YUI, script.aculo.us, et autres Rico… on se perd vite dans la masse de ces nouvelles librairies javascript qui permettent de faire des animations rigolotes, de l’ajax, de manipuler le DOM… bref tous ces trucs sympas qui permettent d’estampiller un site « Web2.0 ». Chez CNET, on se pose aussi la questions : laquelle utiliser ? The JavaScript Library World Cup donne un début de réponse et compare les 4 excellentes librairies du moment :

mochikit Yahoo User Interface
prototype dojo

  • Dojo est dimensionnée pour de gros projets type netvibes / pageflakes…, donc un peu trop « artillerie lourde » pour un site de contenu ;
  • Mochikit est excellente, idéale couplé avec une techno serveur python ;
  • Prototype est excellente également, la chouchou des développeurs, idéale couplée avec le framework Ruby on Rails ; son problème de doc famélique est résolu mais celle-ci reste encore éparpillée ;
  • YUI est excellente, un peu plus verbeuse que les autres à cause des namespaces mais très bien documentée ; elle est la seule qui bénéficie d’une vraie documentation normalisée ;

Mes deux préférées, pour les avoir essayées, sont Prototype et YUI.

Prototype

Prototype est un socle. C’est un fichier de 46ko (pour la v 1.40) qui étend le langage javascript avec des fonctions très pratiques telle les célébrissimes $() et $$(), versions améliorées du getElementById. Pour les effets DHTML modernes (DOM scripting), il est préférable d’utiliser en plus une sur-couche type script.aculo.us, Rico, ou Moofx [1].

On ne trouve pas un logiciel open source aujourd’hui qui n’utilise pas Prototype. Sur ce blog par exemple, le plugin « lightbox » utilise cette librairie. Je pourrais le réécrire pour faire en sorte qu’il utilise la YUI. Mais pourquoi refaire quelque chose qui est déjà fait ?

YUI

YUI est ma préférée. Propre dans le code, archi documentée, avec une fonction addEvents exceptionnelle, et surtout, elle est complétée par les Yahoo Design Pattern. Yahoo design pattern est une base de documents qui décrit quelle est la transition (le pattern) la plus appropriée dans chaque situation. La plupart de ces patterns sont déjà tout prêts dans la YUI. Bon ok, on peut très bien les refaire avec n’importe quelle autre librairie, Mais pourquoi refaire quelque chose qui est déjà fait ?

En résumé

YUI est plus orientée webdesigner, lesquelles se concentrent en général plus sur l’interface que sur les « tuyeaux ». Prototype est plus adaptée pour les développeurs, idéale pour réaliser des projets assez costauds type Netvibes ou Basecamp [2].

Plus d’infos sur mon delicious aux tags library + javascript.

  1. Moofx, ma préférée : seulement 3ko !
  2. Netvibes et Basecamp utilisent Prototype


Reagissez

Si ce billet vous a plu ou si vous voulez apporter des précisions, ou si vous n’êtes pas d’accord avec ce que je raconte, c’est ici qu’il faut vous manifester. Je me réserve toutefois le droit de supprimer toute contribution insultante ou qui n’aurait rien à voir avec la choucroute.

  1. Comme toi j’aime moofx, mais il est vrai que je n’ai pas eu l’occasion de tester les gros frameworks, j’ai plutôt tendance à coder moi même les scripts dont j’ai besoin.

  2. Moi je suis fainéant, je préfère utiliser le code des autres 😉

  3. Quel librairie javacript utiliser (2) ?

    […] Je parlais ici des frameworks javascript, Prototype, Mochikit, YUI et Dojo. Au final, j’avais retenu en shortlist Prototype et YUI, avec une nette préférence pour la librairie de Yahoo! Et là – patatra, le drame. Je tombe sur un article d’Ajaxian, lequel publie les résultats d’un sondage [1] sur les frameworks ajax les plus populaires : […]

  4. La programmation orientée objet, c’est de la flûte

    […] touche à Rails, on fait de l’objet, dans WordPress il y a de l’objet, dans la moindre librairie javascript il y a de l’objet (et pas qu’un peu !). Certes. Mais lorsqu’on utilise Rails, […]

Haut de la liste
Votre commentaire