MooTools
( Apprenez comment et quand supprimer ce message ) MooTools (My Object-Oriented Tools) est un framework JavaScript léger et orienté objet . Il est distribué sous la licence libr...
MooTools (My Object-Oriented Tools) est un framework JavaScript léger et orienté objet . Il est distribué sous la licence libre et open source MIT .
Aperçu
MooTools offre à l'utilisateur un certain nombre d'options allant au-delà du JavaScript natif. Celles-ci incluent :
- Un cadre extensible et modulaire permettant aux développeurs de choisir leur propre combinaison personnalisée de composants.
- MooTools suit les pratiques orientées objet et le principe DRY .
- Un composant d'effets avancé, avec des transitions optimisées telles que des équations d'interpolation utilisées par de nombreux développeurs Flash.
- Améliorations apportées au DOM , permettant aux développeurs d'ajouter, de modifier, de sélectionner et de supprimer facilement des éléments DOM. Le stockage et la récupération d'informations avec le stockage d'éléments sont également pris en charge.
Le framework inclut des fonctions intégrées pour la manipulation des CSS , des éléments DOM , des objets JavaScript natifs, des requêtes Ajax , des effets DOM, et bien plus encore. MooTools fournit également une interface de programmation (API) détaillée et cohérente , ainsi qu'un module de téléchargement personnalisé permettant aux développeurs de télécharger uniquement les modules et dépendances nécessaires à une application particulière.
Histoire
Valerio Proietti a initialement conçu ce framework et l'a publié en septembre 2006 , s'inspirant de Prototype et de base2 de Dean Edwards . MooTools est issu de Moo.fx, une bibliothèque d'effets JavaScript populaire , publiée en octobre 2005 par Valerio Proietti comme extension du framework JavaScript Prototype . Elle peut être utilisée comme une alternative plus légère à script.aculo.us ou à d'autres bibliothèques plus volumineuses. Elle offre des effets simples et basiques, et garantit une taille de bibliothèque réduite.
Alors que Prototype a étendu — prototypé — de nombreux objets String, Array et Function natifs de JavaScript avec des méthodes supplémentaires, Proietti souhaitait un framework qui (à l'époque) étende également l'objet Element natif pour offrir un meilleur contrôle du Document Object Model (DOM).
Composants
MooTools comprend plusieurs composants, mais il n'est pas nécessaire de tous les charger pour chaque application. Voici quelques exemples de catégories de composants :
- Noyau : Un ensemble de fonctions utilitaires dont tous les autres composants ont besoin.
- Plus d'informations : Une collection officielle d'extensions qui enrichissent le noyau et offrent des fonctionnalités améliorées.
- Classe : La bibliothèque de base pour l'instanciation d'objets Class.
- Natives : une collection d’ améliorations apportées aux objets natifs JavaScript . Les Natives ajoutent des fonctionnalités, une compatibilité accrue et de nouvelles méthodes qui simplifient le codage.
- Élément : Contient un grand nombre d’améliorations et de normalisations de compatibilité par rapport à l’ objet HTML Element .
- Fx : Une API d'effets avancée pour animer les éléments de page.
- Requête : Inclut l'interface XHR , les cookies, JSON et des outils spécifiques de récupération HTML que les développeurs peuvent exploiter.
- Fenêtre : Fournit une interface multi-navigateurs aux informations spécifiques au client, telles que les dimensions de la fenêtre.
Compatibilité avec les navigateurs
MooTools est compatible et testé avec :
- Safari 3+
- Internet Explorer 6+
- Mozilla Firefox 2+
- Opera 9+
- Chrome 4+
L'accent est mis sur la modularité et la réutilisabilité
Chaque framework JavaScript a sa propre philosophie, et MooTools s'attache à tirer pleinement parti de la flexibilité et de la puissance de JavaScript en privilégiant une plus grande modularité et la réutilisation du code. Grâce à l'objet Class de MooTools, MooTools atteint ces objectifs de manière intuitive pour un développeur venant d'un langage basé sur l'héritage de classes comme Java .
Une classe est un objet de paires clé/valeur contenant soit des propriétés, soit des méthodes (fonctions). Les classes peuvent être facilement combinées et étendues avec d'autres instances de classes, ce qui permet d'exploiter pleinement le potentiel de MooTools : la réutilisation du code. Cette réutilisation est obtenue en maximisant la puissance de l'héritage prototypique de JavaScript, mais dans une syntaxe d'objet classe plus familière aux modèles d'héritage classiques.
Programmation orientée objet
MooTools intègre un système robuste de création et d'héritage de classes, similaire à celui de la plupart des langages de programmation orientés objet classiques . Par exemple, voici l'équivalent, en MooTools, des exemples de la page Wikipédia sur le polymorphisme :