Dojo Toolkit

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Dojo Toolkit
Image illustrative de l'article Dojo Toolkit
Logo

Première version 2004
État du projet en développement
Écrit en javascript
Environnement multiplate-forme
Licence Double licence BSD et Academic Free License
Site web http://dojotoolkit.org/

Dojo est une bibliothèque logicielle open source en JavaScript. Son but est le développement rapide d'applications en Javascript exécutées côté client et communiquant avec le serveur avec une granularité inférieure à la page grâce à Ajax. Dojo est sous double licence et peut donc être obtenue soit selon les termes de la licence BSD, soit sous ceux de l'Academic Free License.

Actuellement le framework Dojo est disponible en version 1.9 (en date du ).

Système de paquetage[modifier | modifier le code]

Dojo fournit un système de paquetage conçu pour faciliter la séparation des fonctionnalités en paquetages et sous-paquetages individuels. Le script de base pour le bootstrap de Dojo initialise un espace de nom hiérarchique appelé "dojo". Après son initialisation, une fonction utilitaire peut charger tout paquetage via XMLHttpRequest ou un autre système de transport de données. Pour le code développé avec Dojo, on peut initialiser des espaces de noms parallèles à "dojo".

Les paquetages peuvent être constitués de multiples fichiers et peuvent spécifier quels fichiers constituent un paquetage entier. Chaque paquetage ou fichier peut spécifier des dépendances vis-à-vis d'autres paquetages ou fichiers qui seront chargés automatiquement.

Dojo fournit aussi un mécanisme pour construire des "profils". Le système de construction prend en entrée une liste de paquetages et utilise Apache Ant pour créer un seul fichier JavaScript compressé contenant tous ces paquetages et leur dépendance. Cela permet à tout le code nécessaire d'être chargé et initialisé en une fois et permet de cacher le code (la plupart des butineurs - navigateurs Web - ne chargent pas en mémoire cache les fichiers obtenus par XMLHttpRequest). Des "profils" préfabriqués pour différents cas courants d'utilisation sont disponibles à la même adresse que la totalité du cadriciel Dojo.

Survol des fonctionnalités de Dojo[modifier | modifier le code]

Au-delà du système de paquetage, voici les fonctionnalités les plus notables de Dojo :

  • Des contournements pour le chargement inter-domaines de la plupart des paquetages de Dojo (bien que cela requière une construction spéciale de Dojo ; une telle construction est hébergée par AOL).
  • Un système évènementiel qui permet au code d'être marqué pour l'exécution non seulement pour les évènements DOM mais pour des évènements arbitraires tels que les appels à une fonction particulière. Cela permet une utilisation plus robuste de la programmation orientée aspect qu'il n'est typique en JavaScript.
  • Un système de widgets qui permet la création de composants réutilisables complexes, et propose de nombreux widgets préfabriqués (par exemple, un sélectionneur de dates fondé sur un calendrier, et un éditeur de texte riche).
  • Un wrapper au-dessus des différentes implantations de XMLHttpRequest, qui permet d'utiliser divers systèmes de transport de données et de formats de données et de s'abstraire autant que possible des variations entre butineurs.
  • Une bibliothèque d'animations, incluant à la fois des effets d'animation pré-construits et des possibilités de construire soi-même des effets.
  • Une bibliothèque d'utilitaires de manipulation du DOM.
  • Des utilitaires pour la manipulation des classes JavaScript.
  • Abstraction de l'environnement d'exécution, Dojo permet de détecter et de gérer les différences entre les différents butineurs et environnements d'exécution tels que Rhino et SpiderMonkey pour Mozilla et Firefox.

Patronage[modifier | modifier le code]

IBM[1] et Sun Microsystems[2] ont annoncé un support officiel de Dojo, dont des contributions de code.

Un autre élément important du patronage fait autour de Dojo est la Foundation Dojo à laquelle contribuent de nombreuses sociétés et d'autres projets Open Source comme OpenLaszlo.

Par ailleurs, en mai 2008, Zend Framework[3] a annoncé un partenariat avec la Fondation Dojo. L'objectif est d'intégrer Dojo Toolkit à Zend Framework afin de simplifier la création d'applications web avec une interface utilisateur "riche".

Critiques[modifier | modifier le code]

Une critique commune est l'absence de documentation complète. Malgré des efforts pour combler cette lacune, la critique était toujours valable en octobre 2006. L'équipe de Dojo a réagi à cette critique, ainsi depuis novembre 2006 l'effort a été porté sur la documentation en ligne et a vu le jour d'une aide accrue encore en perfectionnement. De plus, l'activité de Dojo étant importante, de nombreuses informations sont disponibles dans leur lettre de diffusion, qui demeure extrêmement active.

Références[modifier | modifier le code]

  1. « "IBM Contributes Ajax Software Development Technology to Open Source Community - Press release on www.marketwire.com" »
  2. « "Sun Joins the OpenAJAX Alliance and Dojo Foundation - Press release on prnewswire.com" »
  3. « "Dojo and Zend Framework Partnership Announcement" »

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Liens externes[modifier | modifier le code]