Diferencia entre revisiones de «Mootools»

Línea 25: Línea 25:
 
* '''Window''': Proporciona una interfaz, válida para cualquier navegador, para obtener información del cliente, por ejemplo el tamaño de la ventana.
 
* '''Window''': Proporciona una interfaz, válida para cualquier navegador, para obtener información del cliente, por ejemplo el tamaño de la ventana.
  
==Compatibilidad entre navegadores===
+
==Compatibilidad entre navegadores==
  
 
MooTools es compatible y está testado con:
 
MooTools es compatible y está testado con:
Línea 36: Línea 36:
 
* [[Google Chrome]]
 
* [[Google Chrome]]
  
 +
== Programación orientada a objetos ==
 +
MooTools contiene un robusto sistema de creación y herencia de clases que se asemeja al de los lenguajes de programación orientados a objetos. Por ejemplo, aquí tenemos el equivalente en MooTool al ejemplo de polimorfismo en un lenguaje orientado a objetos:
 +
 +
 +
var Animal = new Class({
 +
   
 +
    initialize: function(name){
 +
        this.name = name;
 +
    }
 +
   
 +
});
 +
 +
var Cat = new Class({
 +
   
 +
    Extends: Animal,
 +
   
 +
    talk: function(){
 +
        return 'Meow!';
 +
    }
 +
   
 +
});
 +
 +
var Dog = new Class({
 +
   
 +
    Extends: Animal,
 +
   
 +
    talk: function(){
 +
        return 'Arf! Arf';
 +
    }
 +
   
 +
});
 +
 +
var Animals = {
 +
    a: new Cat('Missy'),
 +
    b: new Cat('Mr. Bojangles'),
 +
    c: new Dog('Lassie')
 +
};
 +
 +
for(var animal in Animals) alert(animal.name + ': ' + animal.talk());
 +
 +
// alerts the following:
 +
//
 +
// Missy: Meow!
 +
// Mr. Bojangles: Meow!
 +
// Lassie: Arf! Arf!
  
  

Revisión del 10:59 15 mar 2010

Mootools
Información sobre la plantilla
CreadorThe MooTools Dev Team

MooTools My oriented object tools es un Framework web orientado a objetos para JavaScript, de código abierto, compacto y modular. El objetivo de MooTools es aportar una manera de desarrollar JavaScript sin importar en qué navegador se ejecute de una manera elegante. MooTools aporta una API documentada más enfocada a la orientación de objetos que la implementación estándar soportada por los navegadores web.

Ventajas

Como otras tantas bibliotecas JavaScript, MooTools aporta al usuario muchas ventajas. Alguna de ellas:

  • Es un Framework modular y extendible, el desarrollador puede elegir que componentes usar y cuales no.
  • MooTools es orientado a objetos y sigue los principios DRY, que hacen de él un Framework rico, potente y eficiente.
  • Componente avanzado de efectos Effects, con transiciones Transitions, de función parabólica, optimizadas y utilizadas por multitud de desarrolladores Flash.
  • Framework desarrollado por programadores para programadores.

Componentes

MooTools incluye muchos components. A destacar es la aplicación de descarga disponible en la web de mootools que permite al usuario descargarse sólo aquellas partes de la biblioteca que tiene pensado utilizar, y sus dependencias necesarias. Además los usuarios pueden elegir el nivel de compresión de la descarga final. Algunos de las categorias de componentes son esbozadas a continuación:

  • Core: colección de funciones de apoyo de las que hace uso el resto de components.
  • Class: es la biblioteca base de MooTools para la instanciación de objetos.
  • Natives: Colección de mejoras al objeto nativo JavaScript, añadiendo funcionalidades, compatibilidad y nuevos métodos que simplifican el código.
  • Element: multitud de mejoras y compatibilidades al objeto HTML.
  • Effects: API avanzada para animar Elements.
  • Remote: proporciona una interfaz para peticiones XHR, Cookie y herramientas para JSON.
  • Window: Proporciona una interfaz, válida para cualquier navegador, para obtener información del cliente, por ejemplo el tamaño de la ventana.

Compatibilidad entre navegadores

MooTools es compatible y está testado con:

Programación orientada a objetos

MooTools contiene un robusto sistema de creación y herencia de clases que se asemeja al de los lenguajes de programación orientados a objetos. Por ejemplo, aquí tenemos el equivalente en MooTool al ejemplo de polimorfismo en un lenguaje orientado a objetos:


var Animal = new Class({
   
   initialize: function(name){
       this.name = name;
   }
   
});

var Cat = new Class({
   
   Extends: Animal,
   
   talk: function(){
       return 'Meow!';
   }
   
});

var Dog = new Class({
   
   Extends: Animal,
   
   talk: function(){
       return 'Arf! Arf';
   }
   
});

var Animals = {
   a: new Cat('Missy'),
   b: new Cat('Mr. Bojangles'),
   c: new Dog('Lassie')
};

for(var animal in Animals) alert(animal.name + ': ' + animal.talk());

// alerts the following:
//
// Missy: Meow!
// Mr. Bojangles: Meow!
// Lassie: Arf! Arf!