A noter

C'est le 742e jour depuis le début de cette aventure !

L’ensemble de technologies Ajax (pour Asynchronous JavaScript And XML) fait partie intégrante du développement de sites web 2.0. Ce type de sites plus riches et plus dynamiques nécessite un investissement plus important au niveau de la partie cliente d’une application web (HTML, CSS et Javascript) afin de proposer la meilleure expérience possible à l’utilisateur.

Cette partie ne concerne donc plus seulement la présentation et intègre maintenant une logique applicative plus complexe. Elle est donc devenue très importante et plus coûteuse à développer. Heureusement, il est possible de compter sur des librairies pour nous aider dans cette tâche.

La plupart du temps ces librairies Javascript offrent bien d’autres fonctionnalités. Il s’agit vraiment de frameworks sur lesquels il est possible de s’appuyer pour développer toute la partie présentation d’un site Internet. Chaque librairie à sa propre histoire et sa propre philosophie (développée par exemple pour supporter une plate-forme particulière ou implémentée en suivant les concepts de la programmation orientée objet). Cette liste n’a pas pour but de dresser un tableau exhaustif mais plutôt de vous donner un aperçu des possibilités qui s’offrent à vous :

  • Prototype : ce framework Javascript est utilisable tel quel, mais il sert également de base pour des librairies plus évoluées et plus lourdes comme Rico et Script.aculo.us (à voir ci-dessous). Il n’inclut donc pas d’effets visuels, mais comporte tout le nécessaire pour effectuer des requêtes en Ajax :
    Prototype
  • Rico : A l’inverse de Prototype, Rico propose donc en plus du support Ajax la possibilité de fabriquer des animations ou d’effectuer des glissers-déposers (ou drags and drops en anglais) comme dans un logiciel classique. Malheureusement, sa documentation semble un peu succincte :
    Rico
  • Script.aculo.us : sûrement un des plus connus (probablement à cause de son intégration à Ruby on Rails). Il bénéficie d’une communauté par conséquent importante et dispose même d’un mécanisme d’extensions. Script.aculo.us est fournit de base avec l’auto-complétion en Ajax :
    Script.aculo.us
  • Mootools : une librairie compacte et modulaire qui a été conçu en suivant les principes de la programmation orientée objet. Sa syntaxe est très agréable et de nombreuses extensions viennent compléter les fonctionnalités de base. Le module Ajax est capable de gérer le format Json :
    Mootools
  • Dojo Toolkit : certainement une des librairies les plus complètes qui soient. Dojo Toolkit est supportée par une fondation qui regroupe des entreprises comme IBM ou encore Sun Microsystems. Elle repose sur un système de widgets et le package Ajax prend en compte différents types de transport comme les iframes :
    Dojo Toolkit
  • jQuery : JQuery est une librairie Javascript très prometteuse. Elle est légère, extensible et très simple à utiliser. La documentation est vraiment très complète, avec des tutoriaux abordant de manière thématique les différentes fonctionnalités. Idéal pour se lancer dans le développement Ajax :
    jQuery
  • MochiKit : apparemment, les développeurs Python devraient s’y retrouver plus facilement que les autres, car on retrouve dans cette librairie un peu la philosophie de ce langage. MochiKit dispose de tout le nécessaire pour implémenter des tâches asynchrones :
    MochiKit
  • Yahoo! UI Library : Yahoo! a mis à disposition sa librairie Javascript sous une licence open source. Il est donc maintenant possible de concevoir des pages tout aussi riches et interactives que celles des nombreux portails de la société. Le support est bien évidemment exemplaire :
    Yahoo! UI Library

Il existe encore bien d’autres librairies Ajax, dont certaines dépendent d’un langage de programmation comme Google Web Toolkit (Java) ou Xajax (Php) ou bien d’un environnement propriétaire comme Aflax (Flash).

Il faut vraiment prendre le temps d’étudier en détails ces librairies afin de choisir celle qui correspond le mieux à ses besoins. Ce choix est important car il n’est pas facile ensuite de faire machine arrière et de migrer vers un autre framework.

A lire également

Vous pouvez continuer votre lecture sur des sujets similaires en consultant les articles suivants :

Les visiteurs qui ont vu cette page ont consulté ensuite :

A savoir

La rédaction de cet article a nécessité 2 heures et 52 minutes. Si vous le souhaitez, vous pouvez être prévenu de la parution de nouveaux articles en vous abonnant par RSS ou par email.


13 commentaires à propos de “Une liste de librairies Javascript pour développer en Ajax” :

  1. Voila un article qui vaut 10/10 :)

  2. Devant la multiplicité des frameworks Javascript/Ajax, Sun tente de promouvoir sa solution unifiée jMaki. jMaki est un framework unifié qui masque l’accès aux principales librairies javascript (selon sun) : dojo, yahoo UI, scriptaculous, google, spry grâce à un “Widget Model”. Fonctionne a priori (je n’ai pas testé) pour un dév serveur en php ou java.
    https://ajax.dev.java.net/about.html

    On peut également citer Google Web Toolkit, qui est assez original par son modèle de développement : programmez en Java, le GWT génère le javascript pour vous ! Pratique pour bénéficier des environnements de développement Java, et surtout pour éviter d’avoir à maîtriser le Javascript (une connaissance rudimentaire ne suffit souvent pas pour faire des développements Ajax). GWT masque également les différences de comportement sur les principaux browsers, et permet d’automatiser les tests unitaires.

    Attention pour les applications qui ont vocation à intégrer des portails : l’intégration de plusieurs applications (développées avec des librairies js différentes) dans une même page web peut poser des problèmes selon l’ordre de chargement de ces libs.

    Enfin, pour avoir un peu regardé le sujet il y a quelques mois, Prototype semble être la librairie la plus déployée (grâce à sa simplicité ? ), ce qui confère à Scriptaculous (qui s’appuie sur Prototype) des chances non négligeables de leadership. En revanche, son poids peut être un inconviénent pour du site web…

  3. Aux poids lourd, on peut ajouter le framework d’Adobe. Spry est sensé apporter une alternantive AJAX à Flex.
    http://labs.adobe.com/technologies/spry/

  4. Aile, aile, aile, tu as osé prononcer le nom interdit, “web 2.0″, j’entends déjà broncher certains ;-D

    Excellent article, comme toujours :-).

    Il ait vraie que passer d’une libraire à une autre, après avoir commencé à développé est vraiment compliqué, j’ai voulu essayer d’utiliser la lib de Mootools par-dessus Script.aculo.us, impossible !!!
    Sauf erreur de ma part, c’est Prototype qui la bloque et sans cette lib, Script.aculo.us n’est pas utilisable ! Vraiment de la m***de tout ça :-( aucune compatibilité !
    Je confirme ce que dit Stéphane, réfléchissez bien sûr quelle lib Ajax vous allez consacrer votre projet, avant de commencer à développer votre site web 2.0 (aile, aile, aile ;-)) !

    Je préconise Mootools, plus légère et plus fluide.

    En parlant d’Ajax, je recommande http://www.miniajax.com/ pour ceux qui ne connaissent pas. Vous y trouverez plein de script très intéressants.

  5. Etant donné l’utilisation de $ de prototype pour getElementById par ex, il est tout à fait normal que les librairies ne soient pas compatibles entre elles. De toute manière, pour un soucis de poid, il n’ya pas d’intéret à en utiliser plusieurs (sauf cas prototype, scriptaculous bien sur).

    Pour ma part j’utilise prototype, scriptaculous. Depuis que la doc prototype existe, celà facilité les choses. J’avais fait un test de jquery qui semble une superbe alternative, sinon mootools 1.1 est sorti cette semaine, et au vue des exemples d’utilisation, elle semble devenir bien intéressante.

    Et pour ceux qui n’ont pas besoin d’une usine à gaz mais juste le minimum (quelques effets, et requètes ajax). Je vous conseille http://simplejs.bleebot.com/ (en plus c’est français, enfin belge!!si je ne me trompe).

  6. Et dire que je guettais cette nouvelle version de Mootools depuis un mois ! Heureusement que tu passais pas là eMeRiKa !

  7. Merci le flux RSS de leur blog!!

    Rha comment on faisait sans RSS et Netvibes avant!! (mais j’attend toujours un gestionnaire de bookmark français, performant!! firefox n’étant pas du tout suffisant)

  8. Merci pour tous ces liens. J’ai encore du mal à y avoir clair mais je suis sur la bonne piste. J’ai un peu du mal à différencier Toolkit / Framework / library… à moins que tous soient la même chose au final ? :p En tous cas article de qualité comme d’hab !

  9. Cool pour mootools 1.1 :) par contre apparement pas de swiff :( va falloir encore attendre …

  10. Pour ce qui est des conflit entre utilisations de $ par les différentes librairies, jQuery propose une solution : http://www.jquery.com/Using_jQ....._Libraries

    Sinon, pour compléter un peu le sujet, je me permets de signaler une petite étude que nous avions faite il y a quelques mois : http://www.clever-age.com/veil.....-ajax.html

  11. Allez également voir du côté des modules offerts par
    http://www.extjs.com (qui s’appuie sur prototype, scriptaculous et jquery)

    Une démo est consultable ici :
    http://extjs.com/deploy/ext/docs/index.html

    C’est assez impressionnant.

  12. Vraiment exceptionnel ce EXTJS.com, j’adopte, si tu me confirme (Pierre Guillen) qu’il est compatible avec les plus grands browser, type: IE5,6,7 Mozilla FireFox, Maxthon, Opera, etc… !?
    En plus je suis vraiment tombé amoureux du design.

    Merci à toi pour ce lien !!!

  13. Badoux C,
    Extjs est annoncée compatible Internet Explorer 6+, FireFox 1.5+ (PC, Mac, *nix), Safari 2+ et Opera 9+.

Ajouter un commentaire

Les informations obligatoires sont indiquées par une étoile rouge *.




A Propos

Pas facile de franchir le pas et d'abandonner un poste de consultant. Mais depuis octobre 2006, je me consacre entièrement à la conception d'un nouveau service Internet et au montage d'une société.

Ce blog raconte le parcours d'un entrepreneur dans la net économie et aborde de nombreux aspects pratiques, juridiques et financiers liés au développement d'un business sur Internet.

Lire la suite…