MooTools 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 (específicamente) 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
Ejemplo:
Code:
[B][COLOR=#003366]var[/COLOR][/B] Animal [COLOR=#339933]=[/COLOR] [B][COLOR=#003366]new[/COLOR][/B] [B][COLOR=#003366]Class[/COLOR][/B][COLOR=#009900]({[/COLOR] initialize[COLOR=#339933]:[/COLOR] [B][COLOR=#003366]function[/COLOR][/B][COLOR=#009900]([/COLOR][COLOR=#000066]name[/COLOR][COLOR=#009900]){[/COLOR] [B][COLOR=#000066]this[/COLOR][/B].[COLOR=#000066]name[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000066]name[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#009900]}[/COLOR] [COLOR=#009900]})[/COLOR][COLOR=#339933];[/COLOR] [B][COLOR=#003366]var[/COLOR][/B] Cat [COLOR=#339933]=[/COLOR] [B][COLOR=#003366]new[/COLOR][/B] [B][COLOR=#003366]Class[/COLOR][/B][COLOR=#009900]({[/COLOR] [B][COLOR=#003366]Extends[/COLOR][/B][COLOR=#339933]:[/COLOR] Animal[COLOR=#339933],[/COLOR] talk[COLOR=#339933]:[/COLOR] [B][COLOR=#003366]function[/COLOR][/B][COLOR=#009900](){[/COLOR] [B][COLOR=#000066]return[/COLOR][/B] [COLOR=#3366cc]'Meow!'[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#009900]}[/COLOR] [COLOR=#009900]})[/COLOR][COLOR=#339933];[/COLOR] [B][COLOR=#003366]var[/COLOR][/B] Dog [COLOR=#339933]=[/COLOR] [B][COLOR=#003366]new[/COLOR][/B] [B][COLOR=#003366]Class[/COLOR][/B][COLOR=#009900]({[/COLOR] [B][COLOR=#003366]Extends[/COLOR][/B][COLOR=#339933]:[/COLOR] Animal[COLOR=#339933],[/COLOR] talk[COLOR=#339933]:[/COLOR] [B][COLOR=#003366]function[/COLOR][/B][COLOR=#009900](){[/COLOR] [B][COLOR=#000066]return[/COLOR][/B] [COLOR=#3366cc]'Arf! Arf'[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#009900]}[/COLOR] [COLOR=#009900]})[/COLOR][COLOR=#339933];[/COLOR] [B][COLOR=#003366]var[/COLOR][/B] Animals [COLOR=#339933]=[/COLOR] [COLOR=#009900]{[/COLOR] a[COLOR=#339933]:[/COLOR] [B][COLOR=#003366]new[/COLOR][/B] Cat[COLOR=#009900]([/COLOR][COLOR=#3366cc]'Missy'[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933],[/COLOR] b[COLOR=#339933]:[/COLOR] [B][COLOR=#003366]new[/COLOR][/B] Cat[COLOR=#009900]([/COLOR][COLOR=#3366cc]'Mr. Bojangles'[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933],[/COLOR] c[COLOR=#339933]:[/COLOR] [B][COLOR=#003366]new[/COLOR][/B] Dog[COLOR=#009900]([/COLOR][COLOR=#3366cc]'Lassie'[/COLOR][COLOR=#009900])[/COLOR] [COLOR=#009900]}[/COLOR][COLOR=#339933];[/COLOR] [B][COLOR=#000066]for[/COLOR][/B][COLOR=#009900]([/COLOR][B][COLOR=#003366]var[/COLOR][/B] animal [B][COLOR=#000066]in[/COLOR][/B] Animals[COLOR=#009900])[/COLOR] [COLOR=#000066]alert[/COLOR][COLOR=#009900]([/COLOR]animal.[COLOR=#000066]name[/COLOR] [COLOR=#339933]+[/COLOR] [COLOR=#3366cc]': '[/COLOR] [COLOR=#339933]+[/COLOR] animal.[COLOR=#660066]talk[/COLOR][COLOR=#009900]())[/COLOR][COLOR=#339933];[/COLOR] [I][COLOR=#006600]// alerts the following:[/COLOR][/I] [I][COLOR=#006600]//[/COLOR][/I] [I][COLOR=#006600]// Missy: Meow![/COLOR][/I] [I][COLOR=#006600]// Mr. Bojangles: Meow![/COLOR][/I] [I][COLOR=#006600]// Lassie: Arf! Arf![/COLOR][/I]
fuente: wikipedia
Sitios con ejemplos y descargas relacionadas: