This article has multiple issues. Please help
improve it or discuss these issues on the
talk page. (
Learn how and when to remove these template messages)
|
Developer(s) | The MooTools Dev Team |
---|---|
Initial release | September 8, 2006[1] |
Stable release | 1.6.0
/ January 14, 2016[2]
|
Repository | https://github.com/mootools/mootools-core |
Written in | JavaScript |
Type | Ajax framework / JavaScript Framework |
License | MIT License [3] |
Website |
mootools |
MooTools (My Object-Oriented Tools) [4] is a lightweight, object-oriented JavaScript framework. It is released under the free, open-source MIT License. [5]
MooTools provides the user with a number of options beyond native JavaScript. These include:
The framework includes built-in functions for manipulation of CSS, DOM elements, native JavaScript objects, Ajax requests, DOM effects, and more. MooTools also provides a detailed, coherent application programming interface (API), [10] as well as a custom downloads module allowing developers to download only the modules and dependencies they need for a particular app. [11] [12]
Valerio Proietti first authored the framework and released it in September 2006 [13] taking as his inspiration Prototype and Dean Edward's base2. MooTools originated from Moo.fx, a popular JavaScript effects library released in October 2005 by Valerio Proietti as an add-on to the Prototype Javascript Framework. [14] It can be used as a lighter alternative to script.aculo.us or other, bigger libraries. It provides simple, basic effects, and guarantees a small library size.
Whereas Prototype extended—prototyped—many of JavaScript's native String, Array, and Function objects with additional methods, Proietti desired a framework that (at the time) [15] further extended the native Element object as well [13] to offer greater control of the Document Object Model (DOM). [16]
MooTools includes a number of components, but not all need to be loaded for each application. Some of the component categories are:
MooTools is compatible and tested with: [24]
Every JavaScript framework has its philosophy, and MooTools is interested in taking full advantage of the flexibility and power of JavaScript in a way that emphasizes greater modularity and code reuse. MooTools accomplishes these goals intuitively to a developer coming from a class-based inheritance language like Java with the MooTools Class object.
Class is an object of key/value pairs containing either properties or methods (functions). Class is effortlessly mixed and extended with other Class instantiations allowing for the most excellent focus of MooTools: Code reuse achieved through maximizing the power of JavaScript's prototypical inheritance but in a Class object syntax more familiar to classical inheritance models. [25]
MooTools contains a robust Class creation and inheritance system that resembles most classically based 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')
};
Object.each(animals, function(animal) {
alert(animal.name + ': ' + animal.talk());
});
// alerts the following:
//
// Missy: Meow!
// Mr. Bojangles: Meow!
// Lassie: Arf! Arf!
This article has multiple issues. Please help
improve it or discuss these issues on the
talk page. (
Learn how and when to remove these template messages)
|
Developer(s) | The MooTools Dev Team |
---|---|
Initial release | September 8, 2006[1] |
Stable release | 1.6.0
/ January 14, 2016[2]
|
Repository | https://github.com/mootools/mootools-core |
Written in | JavaScript |
Type | Ajax framework / JavaScript Framework |
License | MIT License [3] |
Website |
mootools |
MooTools (My Object-Oriented Tools) [4] is a lightweight, object-oriented JavaScript framework. It is released under the free, open-source MIT License. [5]
MooTools provides the user with a number of options beyond native JavaScript. These include:
The framework includes built-in functions for manipulation of CSS, DOM elements, native JavaScript objects, Ajax requests, DOM effects, and more. MooTools also provides a detailed, coherent application programming interface (API), [10] as well as a custom downloads module allowing developers to download only the modules and dependencies they need for a particular app. [11] [12]
Valerio Proietti first authored the framework and released it in September 2006 [13] taking as his inspiration Prototype and Dean Edward's base2. MooTools originated from Moo.fx, a popular JavaScript effects library released in October 2005 by Valerio Proietti as an add-on to the Prototype Javascript Framework. [14] It can be used as a lighter alternative to script.aculo.us or other, bigger libraries. It provides simple, basic effects, and guarantees a small library size.
Whereas Prototype extended—prototyped—many of JavaScript's native String, Array, and Function objects with additional methods, Proietti desired a framework that (at the time) [15] further extended the native Element object as well [13] to offer greater control of the Document Object Model (DOM). [16]
MooTools includes a number of components, but not all need to be loaded for each application. Some of the component categories are:
MooTools is compatible and tested with: [24]
Every JavaScript framework has its philosophy, and MooTools is interested in taking full advantage of the flexibility and power of JavaScript in a way that emphasizes greater modularity and code reuse. MooTools accomplishes these goals intuitively to a developer coming from a class-based inheritance language like Java with the MooTools Class object.
Class is an object of key/value pairs containing either properties or methods (functions). Class is effortlessly mixed and extended with other Class instantiations allowing for the most excellent focus of MooTools: Code reuse achieved through maximizing the power of JavaScript's prototypical inheritance but in a Class object syntax more familiar to classical inheritance models. [25]
MooTools contains a robust Class creation and inheritance system that resembles most classically based 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')
};
Object.each(animals, function(animal) {
alert(animal.name + ': ' + animal.talk());
});
// alerts the following:
//
// Missy: Meow!
// Mr. Bojangles: Meow!
// Lassie: Arf! Arf!