From Wikipedia, the free encyclopedia
|
This article needs references that appear in reliable third-party publications. Primary sources or sources affiliated with the subject are generally not sufficient for a Wikipedia article. Please add more appropriate citations from reliable sources. (November 2008) |
MooTools is an open source, lightweight, modular object-oriented programming JavaScript web application framework released under the MIT License. The goal of the software is to provide a means for intermediate to advanced web developers to write cross-browser JavaScript in an elegant, flexible, and efficient fashion. The MooTools JavaScript framework includes built-in functions for manipulation of CSS, DOM elements, native JavaScript objects, Ajax requests, and more. MooTools also provides a detailed, coherent API[1] to increase speed of development.
[edit] Benefits
MooTools aims to provide the user with a number of advantages over native JavaScript. Advantages include:
- An extensible and modular framework where the developer can choose which components to use.[2]
- MooTools follows object-oriented practices and the DRY principle.[3]
- An advanced effects component, with optimized transitions such as easing equations used by many Flash developers.[4]
- Enhancements to the DOM, enabling developers to easily add, modify, select, and delete DOM elements.[5]
[edit] Components
MooTools includes a number of components but not all need to be loaded for each application. Some of the component categories are:
- Core: a collection of utility functions that all the other components require.[6]
- Class is MooTools base library for Class object instantiation.[7]
- Natives: a collection of JavaScript Native Object enhancements. The Natives add functionality, compatibility and new methods that simplify coding.
- Element contains a slew of enhancements and compatibility to the HTML Element object.[8]
- Fx is an advanced effects API to animate Elements.[9]
- Request: provides XHR interface, Cookie, JSON, and HTML retrieval specific tools for developers to exploit.[10]
- Window: provides a cross-browser interface to the Client specific information, for instance window size[11].
[edit] Browser Compatibility
MooTools is compatible and tested with[12]:
[edit] Object-oriented Programming
MooTools contains a robust Class creation and inheritance system that resembles most Object-oriented programming languages. For example, the following is MooTools' equivalent of the examples in Wikipedia's polymorphism page:
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!
[edit] Related
[edit] See also
[edit] References
[edit] External links
List of Widget toolkits |
|
Low-level |
|
|
High-level |
On Amiga OS
|
|
|
|
|
|
On Microsoft
Windows
|
|
|
On Unix,
under the X
|
|
|
Cross-
platform
|
Based on
Flash
|
|
|
Based on XML,
AJAX or SVG
|
|
|
Based on Java
|
|
|
Based on
C or C++
|
|
|
Based on
Pascal
|
|
|
Based on
Objective C
|
|
|
|
|