MooTools (Mis herramientas orientadas a objetos) [4] es un marco JavaScript ligero y orientado a objetos . Se publica bajo la licencia MIT de código abierto y gratuita . [5]
![]() | |
Desarrollador (es) | El equipo de desarrollo de MooTools |
---|---|
Versión inicial | 7 de marzo de 2007 [1] |
Lanzamiento estable | 1.6.0 / 14 de enero de 2016 [2] |
Repositorio | https://github.com/mootools/mootools-core |
Escrito en | JavaScript |
Tipo | Marco Ajax / Marco JavaScript |
Licencia | Licencia MIT [3] |
Sitio web | mootools |
Descripción general
MooTools proporciona al usuario una serie de opciones más allá de JavaScript nativo. Éstas incluyen:
- Un marco modular y extensible que permite a los desarrolladores elegir su propia combinación personalizada de componentes. [6]
- MooTools sigue prácticas orientadas a objetos y el principio DRY . [7]
- Un componente de efectos avanzados, con transiciones optimizadas, como ecuaciones de simplificación que utilizan muchos desarrolladores de Flash. [8]
- Mejoras en DOM , que permiten a los desarrolladores agregar, modificar, seleccionar y eliminar elementos DOM fácilmente. También se admite el almacenamiento y la recuperación de información con Element Storage. [9]
El marco incluye funciones integradas para la manipulación de CSS , elementos DOM , objetos JavaScript nativos, solicitudes Ajax , efectos DOM y más. MooTools también proporciona una interfaz de programación de aplicaciones (API) detallada y coherente , [10] así como un módulo de descargas personalizado que permite a los desarrolladores descargar solo los módulos y las dependencias que necesitan para una aplicación en particular. [11] [12]
Historia
Valerio Proietti fue el autor del framework y lo lanzó en septiembre de 2006 [13] tomando como inspiración Prototype y la base2 de Dean Edward . MooTools se originó a partir de Moo.fx, una popular biblioteca de efectos de JavaScript lanzada en octubre de 2005 por Valerio Proietti como un complemento para Prototype Javascript Framework . [14] Puede usarse como una alternativa más ligera a script.aculo.us u otras bibliotecas más grandes. Proporciona efectos simples y básicos y garantiza un tamaño de biblioteca pequeño.
Mientras que Prototype extendió (prototipo) muchos de los objetos String, Array y Function nativos de JavaScript con métodos adicionales, Proietti deseaba un marco que (en ese momento) [15] extendiera aún más el objeto Element nativo [13] para ofrecer un mayor control de el modelo de objetos de documento (DOM). [dieciséis]
Componentes
MooTools incluye varios componentes, pero no es necesario cargar todos para cada aplicación. Algunas de las categorías de componentes son:
- Núcleo : una colección de funciones de utilidad que requieren todos los demás componentes. [17]
- Más : una colección oficial de complementos que amplían el Core y proporcionan una funcionalidad mejorada. [18]
- Clase : la biblioteca base para la creación de instancias de objetos de clase. [19]
- Nativos : una colección de mejoras de objetos nativos de JavaScript . Los nativos agregan funcionalidad, compatibilidad y nuevos métodos que simplifican la codificación.
- Elemento : contiene una gran cantidad de mejoras y estandarización de compatibilidad para el objeto Elemento HTML . [20]
- Fx : una API de efectos avanzada para animar elementos de la página. [21]
- Solicitud : incluye interfaz XHR , cookies, JSON y herramientas específicas de recuperación de HTML para que los desarrolladores las aprovechen. [22]
- Ventana : proporciona una interfaz de navegador cruzado para información específica del cliente, como las dimensiones de la ventana. [23]
Compatibilidad del navegador
MooTools es compatible y probado con: [24]
- Safari 3+
- Internet Explorer 6+
- Mozilla Firefox 2+
- Opera 9+
- Chrome 4+
Énfasis en la modularidad y la reutilización.
Cada marco de JavaScript tiene su filosofía, y MooTools está interesado en aprovechar al máximo la flexibilidad y el poder de JavaScript de una manera que enfatice una mayor modularidad y reutilización de código. MooTools logra estos objetivos de una manera intuitiva para un desarrollador que proviene de un lenguaje de herencia basado en clases como Java con el objeto MooTools Class .
La clase es un objeto de pares clave / valor que puede contener propiedades o métodos (funciones). Class se mezcla y amplía sin esfuerzo con otras instancias de Class, lo que permite el mayor enfoque de MooTools: la reutilización de código se logra maximizando el poder de la herencia prototípica de JavaScript, pero en una sintaxis de objeto Class más familiar para los modelos de herencia clásicos. [25]
Programación orientada a objetos
MooTools contiene un robusto sistema de creación y herencia de clases que se parece a la mayoría de los lenguajes de programación orientados a objetos de base clásica . Por ejemplo, lo siguiente es el equivalente de MooTools a los ejemplos de la página de polimorfismo de Wikipedia:
var Animal = nueva clase ({ inicializar : función ( nombre ) { esto . nombre = nombre ; }});var Cat = new Class ({ Extends : Animal , talk : function () { return '¡Miau!' ; }});var Dog = nueva clase ({ Se extiende : Animal , hablar : function () { return 'Arf! ¡Arf! ; }});var animales = { a : gato nuevo ( 'Missy' ), b : gato nuevo ( 'Sr. Bojangles' ), c : perro nuevo ( 'Lassie' ) }; Objeto . cada ( animales , función ( animal ) { alerta ( animal . nombre + ':' + animal . hablar ()); }); // alerta lo siguiente: // // Missy: ¡Miau! // Sr. Bojangles: ¡Miau! // Lassie: ¡Arf! ¡Arf!
Ver también
- Marco Ajax
- Aplicación de Internet enriquecida
- web 2.0
- Comparación de marcos de JavaScript
- XMLHttpRequest
Referencias
- ^ Versión más antigua conocida
- ^ https://github.com/mootools/mootools-core/releases/tag/1.6.0
- ^ "MooTools" . mootools.net .
- ^ "MooTools en diapositivas FOSDEM" (PDF) . Archivado desde el original (PDF) el 23 de julio de 2011 . Consultado el 17 de febrero de 2010 .
- ^ El sitio web oficial de MooTools
- ^ Página de descarga principal de MooTools
- ^ Objeto de clase MooTools Archivado el 31 de agosto de 2008 en la Wayback Machine.
- ^ Clase Efectos (FX) de MooTools Archivado el 23 de junio de 2008 en la Wayback Machine.
- ^ Clase de elemento de MooTools: una lista completa de métodos de manipulación de elementos. Archivado el 5 de septiembre de 2008 en la Wayback Machine.
- ^ Una mejor forma de utilizar elementos
- ^ Constructor principal de MooTools
- ^ MooTools Más constructor
- ^ a b Newton, Aaron (18 de septiembre de 2008). MooTools Essentials: La referencia oficial de MooTools para el desarrollo de JavaScript y Ajax (1ª ed.). Presione . págs. xvi. ISBN 978-1-4302-0983-6.
- ^ Newton, Aaron (18 de septiembre de 2008). MooTools Essentials: La referencia oficial de MooTools para el desarrollo de JavaScript y Ajax (1ª ed.). Presione . págs. xv. ISBN 978-1-4302-0983-6.
- ^ La versión 1.6.1 de Prototype incluye "un sistema de almacenamiento de metadatos de elementos". Prototype 1.6.1 publicado Archivado 2010-03-01 en archive.today por Sam Stephenson, escrito el 1 de septiembre de 2009. Consultado el 21 de marzo de 2010.
- ^ Tenga en cuenta que MooTools no extiende el objeto nativo ( todas las primitivas de JavaScript como String y Function heredan de él) sino que proporciona un Hash conveniente para el propósito: piense en ello como si tuviera un conjunto de métodos de utilidad que permiten la manipulación de objetos casi sin esfuerzo de objetos JavaScript regulares que de otro modo no se verían afectados por el proceso. ( Newton, Aaron (18 de septiembre de 2008). MooTools Essentials: La referencia oficial de MooTools para el desarrollo de JavaScript y Ajax (1ª ed.). Presione . págs. xvi. ISBN 978-1-4302-0983-6.)
- ^ MooTools Core Archivado el 2 de octubre de 2009 en la Wayback Machine.
- ^ MooTools More Archivado el 4 de octubre de 2009 en la Wayback Machine.
- ^ Clase MooTools Archivado el 31 de agosto de 2008 en la Wayback Machine.
- ^ Elemento MooTools Archivado el 5 de septiembre de 2008 en la Wayback Machine.
- ^ MooTools Fx Class Archivado 2008-06-23 en Wayback Machine.
- ^ Clase de solicitud de MooTools Archivado el 30 de julio de 2008 en la Wayback Machine.
- ^ Además de obtener el tamaño de cualquier elemento, puede obtener fácilmente las dimensiones de la ventana. Archivado 2008-09-11 en Wayback Machine.
- ^ MooTools enumera su compatibilidad en su página de inicio.
- ^ jQuery frente a Mootools
Otras lecturas
- "La Introducción a la Arquitectura de MooTools" . Mecánica Aplicada y Materiales .
- "Consulta interactiva basada en técnicas de sondeo largo de MooTools" . Mecánica Aplicada y Materiales .
- Orchard, Leslie M .; Pehlivanian, Ara; Koon, Scott; Jones, Harley (31 de agosto de 2009). Frameworks profesionales de JavaScript: Prototype, YUI, ExtJS, Dojo y MooTools (1ª ed.). Prensa Wrox . pag. 888. ISBN 978-0-470-38459-6.
- Newton, Aaron (18 de septiembre de 2008). MooTools Essentials: La referencia oficial de MooTools para el desarrollo de JavaScript y Ajax (1ª ed.). Presione . pag. 300. ISBN 978-1-4302-0983-6.
- Lecomte, Xavier (1 de junio de 2012). Découvrez MooTools: Un framework JavaScript pour un site dynamique et interactif (FR) (1ª ed.). DigitBooks . pag. 260. ISBN 978-2-8150-0215-8.
enlaces externos
- Página web oficial
- El grupo de usuarios oficial de MooTools
- Ejemplos de Mootools