Mootools: otra librería Javascript
Visita este artículo en http://www.estadobeta.com/2006/09/11/mootools-otra-libreria-javascript/
Por Ismael en javascript, notasSi Prototype, script.aculo.us jQuery, MooFX, Dojo, Mochikit, Rico y las demás te parecían pocas librerías Javasript para elegir, los italianos de Mad4milk (los desarrolladores de MooFX, que a su vez sirvió de base para jQuery) acaban de lanzar MooTools, una pequeña librería que incluye los efectos de MooFX e incorpora las utilidades de Orientación a Objetos de Prototype, con mejoras introducidas por la clase Base.js de Dean Edwards.
Comparaciones?
La documentación es todavía escasa, pero me llamó particularmente la atención la optimización del modelo de clases y herencia de Prototype. En Prototype, puedes crear y extender una clase de la siguiente manera:
var Mamifero = Class.create();
Mamifero.prototype = {
initialize:function(){
alert(”Soy un mamifero”);
}
}
//Gato extiende Mamifero
var Gato = Class.create();
Object.extend( Object.extend(Gato.prorotype, Mamifero.prototype), {
initialize:function(){
alert(”Soy un gato”);
}
});
Complicadillo. Javascript no soporta clases y herencia “de verdad”, por lo que Prototype simplemente copia los métodos y propiedades de un objeto a otro usando Object.extend. Las propiedades son reescritas en las clases hijas, por lo que Gato no puede acceder a Mamifero.initialize().
MooTools soluciona esto y minimiza el código necesario para definir y extender clases.
var Mamifero = new Class({
initialize: function(){
alert("Soy un mamifero");
}
});
//Gato extiende Mamifero
var Gato = Mamifero.extend({
initialize: function(){
this.parent();
alert(”Soy un Gato”);
}
});
El objeto Class define el método extend() que permite crear subclases con las mismas propiedades. El método parent() llamado dentro de Gato.initialize() invoca al método del mismo nombre en la superclase Mamifero.
Otra ventaja es el peso: MooTools completo incluye módulos para Ajax, DOM, efectos simples y clases, todo por unos módicos 20K. Por si esto fuera poco, el sitio tiene un precioso configurador de descarga que te permite customizar un archivo con los módulos que realmente vas a utilizar.
¿Ok, pero tengo que aprender aún otra librería?
Si y no, depende. Lo bueno de toda esta competencia es que cada una va replicando y perfeccionando las buenas ideas de las otras. jQuery introdujo los métodos encadenables. Prototype no tardó demasiado en incorporarlos y MooTools los incluye en todas sus funciones, además de su mejor modelos de clases. Es de esperarse que Prototype incluya estas mejoras en sus próximas versiones.
- Servicios:
- Comentarios RSS
- Menear!
- Del.icio.us

9/12/2006 at 5:18 am
[…] Mootools: otra librería Javascript Si Prototype, script.aculo.us jQuery, MooFX, Dojo, Mochikit, Rico y las demás te parecían pocas librerías Javasript para elegir, los italianos de Mad4milk (los desarrolladores de MooFX, que a su vez sirvió de base para jQuery) acaban de lanzar MooTool (tags: ajax tutorial mootools javascript webdev) […]
9/12/2006 at 5:28 am
[…] La gente parece que ha acogido a MooTools con los brazos abiertos, y alguno con más tiempo libre que yo se ha permitido trastear un poco las novedades que incorpora. […]
9/13/2006 at 2:16 am
Mootools, la mejor librería Javascript
Si Prototype, script.aculo.us jQuery, MooFX, Dojo, Mochikit, Rico y las demás te parecían pocas librerías Javasript para elegir, los italianos de Mad4milk (los desarrolladores de MooFX, que a su vez sirvió de base para jQuery) acaban de lanzar MooT…
9/15/2006 at 2:40 am
[…] recursos « Mootools: otra librería Javascript […]
9/20/2006 at 6:33 pm
Para ser sincero, lo que más me ha gustado de mootools hasta ahora es…su página; en especial la de descarga =)
8/6/2007 at 1:30 pm
Bueno, aunque anteriormente en algunos proyectos he estado utilizando el prototype dado que hay muchisima documentacion al respecto, algo a tener en cuenta es que Joomla 1.5 tiene por defecto a Mootools como framework de javascript, asi que para los que utilizamos Joomla como plataforma inevitablemente debemos empezar a usar este framework.
9/26/2007 at 4:50 am
[…] del RUT. Para hacerlo basta con un Element.extend({ lafuncion: function(){ …elcodigo…} }); (ver aquí para más […]
8/21/2008 at 1:39 am
Como puedo optimizar Mootols para Joomla?
Estrategias en Internet
8/22/2008 at 11:16 am
@Javi:
mootools, prototype y similares, son librerías que ya están optimizadas en si mismas para ser usadas en gran variedad de sistemas.
quizas te refieres a otra cosa.
8/28/2008 at 1:02 pm
Muchas gracias vladimir
Posicionamiento en buscadores