Midori, un framework JS modulable et léger

07 Mars 2011

Quand on recherche midori sur internet, on tombe sur beaucoup de résultats différents, car le terme midori correspond à un navigateur web, un alcool à base de melon et surtout un petit framework JavaScript. Ce framework est bien moins connu que tous les autres librairies comme jQuery, Prototype ou Mootools pour ne citer que ces trois, mais il a l’avantage d’être très léger et modulable…

Présentation générale

En travaillant sur un autre projet, ou la taille des données transférés est primordial, j'ai pris le parti de me passer d'une librairie JavaScript pour utiliser du JavaScript pure. Mais j'ai vite déchanté lorsqu'il a fallut tester mes petites fonctionnalités sur IE. J'ai donc cherché un framework JavaScript léger, modulable et qui fonctionne avec tous les navigateurs.

Le framework Midori est celui qui me semblait le plus adapté après mes recherches, le framework que l'on télécharge sur le site pèse 53ko, une fois minifié il pèse 37ko et gzippé il ne pèse plus que 12ko. C'est le poids du framework lorsque l'on utilise toutes les fonctionnalités de la librairie, mais on peut encore diminuer le poids en supprimant les modules que l'on utilise pas...

Modularité

Midori est livré avec 10 modules, chaque module correspond à une fonctionnalité, voici un petit listing de ces modules et de ce qu'ils font :

Il est fort probable que vous n'ayez pas besoin de tous ces modules pour votre projet. Pour supprimer un module, il suffit donc d'éditer le source du projet et simplement de supprimer le module et ainsi de gagner du poids sur la taille du framework. C'est aussi simple que cela et rend le framework adaptable à chaque besoin.

Utilisation

L'utilisation du framework n'est pas compliquée et tout comme jQuery, il est possible d'éxecuter le code directement à la fin du chargement de la page :

midori.addEventListener(window, 'ready', function (e) {
	// Code à executer
});

On peut sélectionner un élément en spécifiant un #ID dans la page très simplement :

midori.get("#mon-element-avec-ID");

Une fois cet élément récupéré, on travaille avec du JavaScript "classique", on ne manipule pas un objet comme on le ferai avec jQuery.

En revanche, sélectionner plusieurs éléments et leur affecter un traitement, c'est un peu plus compliqué et verbeux, bien que cela ne soit pas spécialement difficile

midori.get('.ma-classe-avec-beaucoup-doccurrences').apply(function (o) {
	midori.addEventListener(o, 'click', function (e) {
		alert("clique spotted");	
	});
});

Dans cet exemple, on sélectionne tous les éléments selon la classe spécifiée et on leur affecte le traitement lors d'un clique, avec jQuery, ce traitement se serait fait en une seule ligne.

Pour utiliser un autre module, il suffit simplement de préfixer la méthode par le module que l'on va utiliser. Par exemple pour utiliser la fonction "scrollTo" du module "midoriFX", il faudra utiliser le code suivant :

midoriFX.scrollTo("#ID-de-l-endroit-a-scroller");

Conclusion

Midori est une alternative sympathique pour des projets ou l'on a pas besoin de toute la puissance de jQuery ou d'un autre framework qui ont un poids conséquent, lorsque les traitements que l'on veut implémenter sont assez simples, midori peut amplement suffire. Cependant, il est important de noter qu'il est impératif d'avoir des connaissances de JavaScript de bases pour les traitements qui ne sont pas implémentés par Midori.

Néanmoins, voici quelques petits points noirs de cette librairie :

Lien : Site officiel Téléchargement : midorir.js

Charger les commentaires…