Welcome to EverybodyWiki 😃 ! Nuvola apps kgpg.png Log in or ➕👤 create an account to improve, watchlist or create an article like a 🏭 company page or a 👨👩 bio (yours ?)...


From EverybodyWiki Bios & Wiki

Developer(s)The MooTools Dev Team
Initial releaseMarch 7, 2007; 14 years ago (2007-03-07)[1]
Stable release
1.6.0 / January 14, 2016; 5 years ago (2016-01-14)[2]
Written inJavaScript
    TypeAjax framework / JavaScript Framework
    LicenseMIT License[3]

    Amazon.com Logo.png Search MooTools on Amazon.

    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:

    • An extensible and modular framework allowing developers to choose their own customized combination of components.[6]
    • MooTools follows object-oriented practices and the DRY principle.[7]
    • An advanced effects component, with optimized transitions such as easing equations used by many Flash developers.[8]
    • Enhancements to the DOM, enabling developers to easily add, modify, select, and delete DOM elements. Storing and retrieving information with Element storage is also supported.[9]

    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:

    • Core: A collection of utility functions that all the other components require.[17]
    • More: An official collection of add-ons that extend the Core and provide enhanced functionality.[18]
    • Class: The base library for Class object instantiation.[19]
    • Natives: A collection of JavaScript Native Object enhancements. The Natives add functionality, compatibility, and new methods that simplify coding.
    • Element: Contains a large number of enhancements and compatibility standardization to the HTML Element object.[20]
    • Fx: An advanced effects-API to animate page elements.[21]
    • Request: Includes XHR interface, Cookie, JSON, and HTML retrieval-specific tools for developers to exploit.[22]
    • Window: Provides a cross-browser interface to client-specific information, such as the dimensions of the window.[23]

    Browser compatibility[edit]

    MooTools is compatible and tested with:[24]

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

    Emphasis on modularity and reusability[edit]

    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 in a way that is intuitive 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 that can contain either properties or methods (functions). Class is effortlessly mixed and extended with other Class instantiations allowing for the greatest 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]

    Object-oriented programming[edit]

    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!

    See also[edit]

    Other articles of the topic Free and open-source software : Freedoom, Daylight Linux, Valknut (software), Vanilo, Jovo Framework, Zig (programming language), Collabtive
    Some use of "" in your query was not closed by a matching "".Some use of "" in your query was not closed by a matching "".

    • Ajax framework
    • Rich Internet application
    • Web 2.0
    • Comparison of JavaScript frameworks
    • XMLHttpRequest


    1. Earliest known release
    2. https://github.com/mootools/mootools-core/releases/tag/1.6.0
    3. "MooTools". mootools.net.
    4. "MooTools at FOSDEM slides" (PDF). Archived from the original (PDF) on 2011-07-23. Retrieved 2010-02-17. Unknown parameter |url-status= ignored (help)
    5. The Official MooTools Website
    6. MooTools' Core Download Page
    7. MooTools Class Object Archived 2008-08-31 at the Wayback Machine
    8. MooTools' Effects (FX) Class Archived 2008-06-23 at the Wayback Machine
    9. MooTools' Element Class - A comprehensive list of Element manipulation methods. Archived 2008-09-05 at the Wayback Machine
    10. A Better Way to Use Elements
    11. MooTools Core Builder
    12. MooTools More Builder
    13. 13.0 13.1 Newton, Aaron (September 18, 2008). MooTools Essentials: The Official MooTools Reference for JavaScript and Ajax Development (1st ed.). Apress. pp. xvi. ISBN 978-1-4302-0983-6. Search this book on Amazon.com Logo.png
    14. Newton, Aaron (September 18, 2008). MooTools Essentials: The Official MooTools Reference for JavaScript and Ajax Development (1st ed.). Apress. pp. xv. ISBN 978-1-4302-0983-6. Search this book on Amazon.com Logo.png
    15. Version 1.6.1 of Prototype includes "an element metadata storage system." Prototype 1.6.1 released Archived 2010-03-01 at Archive.today by Sam Stephenson, written September 1st, 2009. Retrieved March 21, 2010.
    16. Note that MooTools does not extend the native Object—all JavaScript primitives like String and Function inherit from it—but instead provides a convenient Hash for the purpose: Think of it like having a set of utility methods that allow for nearly effortless object manipulation of regular JavaScript objects that are otherwise unaffected by the process. (Newton, Aaron (September 18, 2008). MooTools Essentials: The Official MooTools Reference for JavaScript and Ajax Development (1st ed.). Apress. pp. xvi. ISBN 978-1-4302-0983-6. Search this book on Amazon.com Logo.png)
    17. MooTools Core Archived 2009-10-02 at the Wayback Machine
    18. MooTools More Archived 2009-10-04 at the Wayback Machine
    19. MooTools Class Archived 2008-08-31 at the Wayback Machine
    20. MooTools Element Archived 2008-09-05 at the Wayback Machine
    21. MooTools Fx Class Archived 2008-06-23 at the Wayback Machine
    22. MooTools Request Class Archived 2008-07-30 at the Wayback Machine
    23. In addition to getting the size for any Element, you can easily get the dimensions of the window Archived 2008-09-11 at the Wayback Machine
    24. MooTools lists its compatibility on its homepage.
    25. jQuery versus Mootools

    Further reading[edit]

    External links[edit]

    This article "MooTools" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:MooTools. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.