10 razones de porque mooTools ha crecido tanto

Leyendo el blog de Andres veo una interesante traduccion que menciona 10 punto bastante interesantes de porque MooTools[web] es tan famoso, la lista original fue realizada por Christoph , por mi lado desde el comienzo he utilizado prototype[web] sin embargo ultimamente he estado tentado a probar esta libreria ya que he utilizado algunos scripts bastante interesantes y funcionan muy bien y son bastante potentes.

1. No son solo efectos

Mucha gente cree que MooTools es únicamente para hacer animaciones, efectos a todo elemento disponible en la página. Y MooTools tiene un montón de cosas más que hacen de este framework una maravilla, drag&grop, manipulación del DOM, Extensión de funciones, Ajax, manipulación de cookies, assets, …

var droppables = $$('div.dropper');  var container = $('containment');  new Drag.Move('dragger', {'container': container, 'droppables': droppables});    droppables.addEvent('over', function(){  this.setStyle('background-color', '#000');  });    droppables.addEvent('leave', function(){  this.setStyle('background-color', '#ff3300');  });    droppables.addEvent('drop', function(){  this.setStyle('background-color', '#face8f');  });

2. Es modular

MooTools no es un solo un framework, es completamente modular y puedes personalizar no que necesitas descargar para ahorrarte peso de javascript. Esto quizas el usuario final no entienda o no le llame la atención, pero para un desarrollador es algo realmente digno de alabar ya que es realmente complicado conseguir un alto de grado de modularidad.

3. Se lee como un libro

Leer el código de MooTools es como leer un libro, la versión con código incluido es realmente explicita y simple de entender.

/*  Function: $type  Returns the type of object that matches the element passed in.    Arguments:  obj - the object to inspect.    Example:  >var myString = 'hello';  >$type(myString); //returns "string"    Returns:  'element' - if obj is a DOM element node  'textnode' - if obj is a DOM text node  'whitespace' - if obj is a DOM whitespace node  'arguments' - if obj is an arguments object  'object' - if obj is an object  'string' - if obj is a string  'number' - if obj is a number  'boolean' - if obj is a boolean  'function' - if obj is a function  'regexp' - if obj is a regular expression  'class' - if obj is a Class. (created with new Class, or the extend of another class).  'collection' - if obj is a native htmlelements collection, such as childNodes, getElementsByTagName .. etc.  false - (boolean) if the object is not defined or none of the above.  */    function $type(obj){ ....}

4. La comunidad alrededor ayuda

Esto ocurre con todas las comunidades, así que no me parece un punto muy importante. Pero el foro de MooTools no para de recibir preguntas y recibir respuestas.

Board statistics      Total number of registered users: 5056      Total number of topics: 5275      Total number of posts: 26414

5. Te ayuda a crear código orientado a objetos

MooTools te permite desarrollar con un código orientado a objetos, esto debido a la capacidad que tiene de extender los objetos nativos del lenguaje.

$('loadJson').addEvent('click', function(e) {  e = new Event(e).stop();  var url = 'http://demos.mootools.net/demos/Json.Remote/data.js';  var request = new Json.Remote(url, {  onComplete: function(jsonObj) {  addImages(jsonObj.previews);  }  }).send();  });

6. Esto es todo acerca de $type

El nativo typeof() de Javascript devuelve cosas similares a “String“, “Number“,… pero con MooTools $type nos lleva a otro nivel.

var Monkey = new Class({  initialize: function(){  this.fruits = [];  },  giveFruit: function(fruit){  //The Monkey only loves fruits!  if($type(fruit)=='fruit')  this.fruits.push(fruit);  return this;  }  });  var Banana = new Class({  $family: 'fruit'  });    new Monkey().giveFruit(new Banana());

7. La creación de elementos es muy fácil

Basta ver el código para ver lo fácil que es crear un elemento con MooTools.

new Element('div', {  'id': 'myDiv',  'class': 'someClass',  'styles': {  'width': '0px',  'height': '0px'  },  'events': {  'click': function(){  alert(this.getText()); //Alerts Hello  }  }  }).setText('Hello').injectInside(document.body).effects().start({  'width': [0, 200],  'height': [0, 100]  });

8. Gestores de eventos

MooTools incorpora su propia gestión de eventos. Puedes gestionar los eventos de todo: Clases, elementos, …

La opción más simple, la de añadir una gestión de eventos sobre un elemento sería algo tan simple como esto:

Element.Events.extend({  'keyenter': {  type: 'keyup',  map: function(e){  return e.key=='enter';  }  }  });    $('myInput').addEvent('keyenter', function(){  doSomething...  e.stop(); //Paramos la ejecución del proceso.  });

9 . Haz que se mueva

Hacer que los elementos de tu página sean dragables (movibles) es tan fácil como esto:

$('myElement').makeDraggable();

10. Hay plugins y extensiones mires donde mires.

En este mismo blog he comentado muchas de las nuevas extensiones y nuevas funcionalidades que MooTools nos ofrece, y gracias a la comunidad de detrás esto irá creciendo y aportando nuevas y valiosas aplicaciones, que harán las delicias de todos.

via Anieto2k

comment ¿Que opinas?

Artículos recientes

close

Glasstic type, tipografía en 3D por el diseñador Rafael Merino

Rafael Merino es el responsable de este experimento de diseño que comprende una genial propuesta tipográfica en 3D; esta nos muestra una serie de números apreciables en tres dimensiones a manera de espejos. En lo…

close

Diseñadora cataloga los colores de diferentes paisajes con ayuda de Pantone

Pantone se esta convirtiendo en referencia cuando tratamos de hablar el lenguaje del color; esto se hace evidente cuando notas que la recurrente tendencia en ámbitos como la fotografía, el arte y el diseño. Es por…

close

Como crear un Cinemagraph en menos de un minuto con Photoshop

Adobe continua lanzando pequeños tutoriales para motivar la supervivencia creativa entre sus usuarios; ello lo logra enseñando maneras de crear efectos de doble exposición y logotipos en algunas de sus plataformas. Razón por la cual,…

close

Posters que se convierten en casas para aves un ejemplo de diseño responsable

El diseño responsable es aquel que los profesionales del diseño hacemos pensando en el medio ambiente; esto claro puede ser mediante la utilización de materiales reciclables o con un fin ecológico. No obstante, cualquier aportación…

close

14 Maneras para mejorar tu disciplina y salud, para ser mas productivo

Les comparto una interesante infografía que lista maneras para mejorar tu disciplina y salud, tips que como principal beneficio te ofrecerán una mejor calidad de vida que te permitirá ser mas productivo. La infografía esta…

close

Este es el nuevo logo para la Serie Mundial de Beisbol 2017

La MLB ha publicado los que serán los nuevos logos para la Serie Mundial de Beisbol 2017 y la post temporada de las grandes ligas, los nuevos logos no han sido del agrado de muchos,…

notifications Recién publicamos
close