MooTools : Le framework JavaScript compact

En 2005, le développeur Valerio Proietti a publié sous le nom Moo.fx. un add-on pour Prototype, ancien leader des frameworks JavaScript. Déçu des possibilités de Prototype, il décide donc de développer son propre framework qu’il lance finalement en décembre 2006 (version 0.87) avec une licence libre MIT sous le nom de MooTools (de l’anglais My Object Oriented Tools). Aujourd’hui une équipe de plus de 20 développeurs et concepteurs sont engagés dans le développement de ce framework JavaScript. D’après w3techs.com 3,1 pourcent des utilisateurs (Janvier 2017) utilisent MooTools comme outil pour les projets Web, loin derrière les leaders du marché que sont Bootstrap et JQuery, les deux outils de JavaScript les plus populaires dans le monde.

Qu’est-ce que MooTools ?

Le framework MooTools est un outil compact et modulable dédié à JavaScript pour les développeurs aguerries et professionnels de JavaScript. Doté d’une interface de programmation (API, de l’anglais Application Programming Interface) élégante et bien documentée et d’une forte orientation objet, il se distingue par ses possibilités d’applications flexibles. Ce framework fournit diverses classes et fonctions disponibles pour aider un développeur dans la programmation et la conception de projets Web modernes : cet outil permet en effet de simplifier considérablement le processus de création. Grace à une construction modulable, le framework est facilement extensible. De plus, l’utilisateur a la possibilité d’inclure des composants spécifiques dont il a besoin, c’est pourquoi les applications de MooTools disposent d’un haut degré de clarté et de compacité.

Aperçu des principaux composants du framework MooTools

Contrairement à un JavaScript ordinaire (basé sur Prototype), MooTools est construit avec un système d’architecture de classes servant de base pour une programmation orientée objet et affiliée à la base pour tous les composants du framework. Ce système permet ainsi non seulement une extensibilité facile mais aussi une possibilité d’écriture du code source modifiable et flexible. Grâce à ces classes prédéfinies et modifiables, il est possible de réaliser en même temps et rapidement des objets, plugin, éléments HTML, requêtes Ajax etc. Les composants ci-dessous peuvent aider à améliorer MooTools JavaScript :

  • Core : MooTools Core est le cœur du framework JavaScript sur lequel tous les composants sont construits. En plus de la mise en place du concept de classe, Core fournit aussi des fonctions auxiliaires générales.
  • More : MooTools More est la collection officielle d’add-ons du framework. Il comporte plusieurs améliorations qui simplifient le processus de développent et l’ajout d’autres caractéristiques.
  • Class : Le composant Class est la librairie de base pour l’instanciation d’objets de classes qui sont réutilisables et modifiables.
  • Element : Un composant très important, en effet il contient de nombreuses améliorations et une standardisation de comptabilité à l’objet HTML Element. Il contient aussi les fonctions $ et $$.
  • Fx : Modules d’effets qui servent de base à l’animation des éléments de page. Ainsi utiles à la réalisation de défilement, de sliding et d’autres effets.
  • JSON : Module pour le codage et le décodage des séquences au format JSON (JavaScript Object Notation).

Un module travaille souvent en coopération avec un autre module, c’est pourquoi le module Fx. CSS exige d’avoir installé préalablement le module Fx. En général, vous pouvez dans la section de téléchargement connaitre précisément quels composants sont nécessaires pour vous et ainsi télécharger de manière personnalisée les modules adaptés pour votre framework. Vous pouvez les trouver sous Core et More. Il est également possible de télécharger le package de base complet avec toutes les extensions disponibles.

Un bel aperçu du fonctionnement des composants de MootTools est disponible avec une démonstration réalisée par l’équipe de développement de MootTools sur aryweb.nl. Vous y trouverez une présentation visuelle des fonctions, effets et formules drag-and-drop (ou glisser-déposer en français), mais aussi avoir un aperçu des lignes de code HTML et CSS pour MooTools JavaScript.

MooTools : JavaScript comme outil de développement

Dans le milieu des années 90 les éléments dynamiques font leur entrée dans le projet du World Wide Web. L’emplacement d’exécution du code source a de plus en plus été déplacé vers le client ou le navigateur. Initialement l’applet Java était utilisable pour tous les langages. Comme alternative à ce petit programme, l’informaticien Brendan Eich développe le langage JavaScript Live en 1995 pour le navigateur Netscape 2.0. Les grandes différences entre les deux langages repose d’abord sur le fait que les classes JavaScript se substituent aux prototypes et ensuite que les lignes de code de programmation ne sont pas détachées du code HTML, mais sont directement mises en œuvre, ce qui est toujours valable jusqu’à maintenant.

Ainsi JavaScript comme langage de navigateur est devenu le premier concurrent de l’applet Java. Cependant la véritable percée, en parallèle avec le Web 2.0 est liée au développement des navigateurs Web et de l’interface DOM à partir de 2005. Il était tout d’un coup possible de télécharger le contenu en arrière-plan en utilisant JavaScript et de créer les premières interfaces dynamiques dans le navigateur sans add-on et ainsi le besoin constant de communication avec le serveur Web est apparu. Différentes bibliothèques et frameworks JavaScript furent lancés et JavaScript au fil de la décennie est ainsi devenu la langue de script la plus largement utilisée pour le développement Web. Dans le même temps, le développement des sites Web est devenu généralement de plus en plus complexe avec un facteur élevé d’interactivité. Ce qui a rendu les frameworks JavaScript comme MooTools, des outils encore plus importants pour la programmation de nouveaux projets Web. Depuis plusieurs années, le langage script est aussi en utilisation du côté serveur.

Pour quel projet le framework MootTools est-il adapté ?

Aujourd’hui, contrairement aux sites Web classiques et statiques, les éléments interactifs sont devenus une évidence comme tout ce qui peut charmer les utilisateurs en créant des concepts innovants et conviviaux. Le temps de chargement joue également un rôle important, ce qui est en grande partie dépendant de la fréquence avec laquelle l’application Web accède au serveur pour gérer les demandes entrantes du navigateur. Une raison de l’utilisation grandissante de framework JavaScript comme MooTools est la multiplication de la mise en œuvre de sites avec une application Web monopage ou Onepager. Ceci permet en effet d’avoir un site internet qui se compose d’un seul document HTML, le but est ainsi d’éviter le chargement d’une nouvelle page à chaque action demandée ce qui permet de fluidifier et de rendre bien plus agréable l’expérience utilisateur.

Une nouvelle tendance particulièrement populaire aujourd’hui est l’utilisation du Storytelling pour présenter l’information d’un site Internet en utilisant donc des éléments interactifs sous la forme d’une petite histoire. Pour une présentation avec une application Web monopage, peu de données avec le serveur Web sont échangées, fournissant une grande performance générale. Grace au soutien des applications de MooTools JavaScript, la plate-forme et les différents navigateurs fonctionnent sans problème.

Avantages et inconvénients de l’architecture JavaScript

Avec JavaScript comme langage de programmation, le framework MootTools est donc bien adapté. De nombreuses alternatives réussies comme par exemple Angular JS ou ember.js montrent bien la forte demande de framework JavaScript. Le langage de script est un standard incontesté du Web et prend en charge tous les principaux navigateurs, il est enfin idéal pour la réalisation de composants interactifs de sites Web. Pour chaque développeur un langage doit logiquement faire partie d’un répertoire à part entière même quand par exemple un système de classes par héritage est manquant. MooTools élimine ce programme et simplifie la programmation des éléments récurrents.

Pour le visiteur du projet Web, l’accent mis sur la réalisation du code source généré du côté client est avantageux à première vue : en effet les éléments JavaScript permettent une interactivité forte et une très bonne vitesse de chargement de la page. Mais compiler le code avec l’application MooTools qui relève principalement du côté client, comporte aussi des risques. Cela peut parfois conduire en effet à une dégradation des performances et même au crash du site lorsque le visiteur possède un appareil peu puissant. Il s’agit alors notamment des appareils mobiles comme les smartphones. En outre avec certains smartphones il peut se produire des complications liées à des composants spécifiques à l’appareil comme l’utilisation de l’écran tactile ou la relative petite taille de l’écran, ce qui n’est pas ou peu testé à l’avance.

Parce-que l’exécution de code contient toujours le risque d’une attaque externe (Tracking, Pishing, etc.), c’est donc toujours un risque pour l’utilisateur quand le site Internet est caractérisé par une programmation du côté client. C’est pour cette raison qu’une partie des visiteurs aujourd’hui utilisent des bloqueurs de script comme NoScript ou JS qui bloquent JavaScript et outils. Il est donc important de prêter attention à la sécurité de votre application Web MooTools afin de créer une confiance entre vous et les visiteurs de votre projet Web.

Utilisation judicieuse de JavaScript : MooTools

MooTools développe une approche orientée objet et amplifie le célèbre langage Web de script pour l’ajuster et réemploi les classes comme par exemple pour Java ou PHP. Avec l’emploi de ce framework vous pouvez augmenter énormément l’efficacité de la mise en œuvre de la programmation de JavaScript.

La conception complète des applications avec MooTools est possible, mais ceci n’est pas nécessairement adapté à tout type de projet. Même si les nouveaux effets, animations et les composants AJAX sont de plus en plus importants dans le développement moderne du Web, il faut cependant s’assurer de la meilleure expérience utilisateur possible pour votre projet Web. Pour cela, MooTools et JavaScript sont des excellents outils mais à utiliser avec un bon dosage afin de garder votre projet Internet accessible au plus grand nombre d’utilisateurs, notamment pour ceux qui utilisent un support moins performant et robuste, comme certains smartphones.