Mootools
# Mootools

MooTools (My object oriented 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 web 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.

## Características

MooTools presenta las siguientes características:

* Es un framework modular y extendible, el desarrollador puede elegir (específicamente) qué componentes usar y cuáles no.
* MooTools es orientado a objetos y sigue los principios DRY.
* Componente avanzado de efectos (Effects), con transiciones (Transitions), de función parabólica, optimizadas y utilizadas por multitud de desarrolladores Flash.

## Componentes

La aplicación de descarga disponible en la web de Mootools 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 categorías de componentes son esbozadas a continuación:

* Core: colección de funciones de apoyo de las que hace uso el resto de componentes.
* 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á probado en:

* Safari 3+
* Internet Explorer 6+
* Mozilla Firefox 2+
* Opera 9+
* Google Chrome 4+

## Programación orientada a objetos

MooTools contiene un 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 MooTools al ejemplo de polimorfismo en un lenguaje orientado a objetos.

