From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
Developer(s) The MooTools Dev Team
Stable release 1.2.4 / October 19, 2009; 136569242 ago
Written in JavaScript
Type Ajax framework / JavaScript Framework
License MIT License

MooTools is an open source, lightweight, modular object-oriented programming JavaScript Web application framework released under the MIT License. The aim of the software is to allow intermediate to advanced Web developers to write cross-browser JavaScript in an elegant, flexible, and efficient way. The framework includes built-in functions for manipulation of CSS, DOM elements, native JavaScript objects, Ajax requests, and more. MooTools also provides a detailed, coherent application programming interface (API).[1]



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]


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].

Browser Compatibility

MooTools is compatible and tested with[12]:

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){ = 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(Animals[animal].name + ': ' + Animals[animal].talk());
 // alerts the following:
 // Missy: Meow!
 // Mr. Bojangles: Meow!
 // Lassie: Arf! Arf!


See also



External links

Personal tools

Served in 0.697 secs.