You can edit almost every page by Creating an account and confirming your email.

MooTools

From EverybodyWiki Bios & Wiki


MooTools
File:Mootools.png
Developer(s)The MooTools Dev Team
Initial releaseMarch 7, 2007; 19 years ago (2007-03-07)[1]
Stable release
1.6.0 / January 14, 2016; 10 years ago (2016-01-14)[2]
Repositoryhttps://github.com/mootools/mootools-core
Written inJavaScript
Engine
    TypeAjax framework / JavaScript Framework
    LicenseMIT License[3]
    Websitemootools.net

    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]

    History

    Valerio Proietti first authored the framework and released it in September 2006[6] 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.[7] 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)[8] further extended the native Element object as well[6] to offer greater control of the Document Object Model (DOM).[9]

    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.[10]
    • More: An official collection of add-ons that extend the Core and provide enhanced functionality.[11]
    • Class: The base library for Class object instantiation.[12]
    • 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.[13]
    • Fx: An advanced effects-API to animate page elements.[14]
    • Request: Includes XHR interface, Cookie, JSON, and HTML retrieval-specific tools for developers to exploit.[15]
    • Window: Provides a cross-browser interface to client-specific information, such as the dimensions of the window.[16]

    Browser compatibility

    MooTools is compatible and tested with:[17]

    Benefits

    MooTools provides the user with a number of advantages over native JavaScript. These include:

    • An extensible and modular framework allowing developers to choose their own customized combination of components.[18]
    • MooTools follows object-oriented practices and the DRY principle.[19]
    • An advanced effects component, with optimized transitions such as easing equations used by many Flash developers.[20]
    • 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.[21]

    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),[22] as well as a custom downloads module allowing developers to download only the modules and dependencies they need for a particular app.[23][24]

    Emphasis on modularity and reusability

    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

    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

    References

    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. ↑ 6.0 6.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. Archived from the original on March 28, 2012. Retrieved March 7, 2020. Search this book on
    7. ↑ 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. Archived from the original on March 28, 2012. Retrieved March 7, 2020. Search this book on
    8. ↑ 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.
    9. ↑ 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. Archived from the original on March 28, 2012. Retrieved March 7, 2020. Search this book on )
    10. ↑ MooTools Core Archived 2009-10-02 at the Wayback Machine
    11. ↑ MooTools More Archived 2009-10-04 at the Wayback Machine
    12. ↑ MooTools Class Archived 2008-08-31 at the Wayback Machine
    13. ↑ MooTools Element Archived 2008-09-05 at the Wayback Machine
    14. ↑ MooTools Fx Class Archived 2008-06-23 at the Wayback Machine
    15. ↑ MooTools Request Class Archived 2008-07-30 at the Wayback Machine
    16. ↑ 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
    17. ↑ MooTools lists its compatibility on its homepage.
    18. ↑ MooTools' Core Download Page
    19. ↑ MooTools Class Object Archived 2008-08-31 at the Wayback Machine
    20. ↑ MooTools' Effects (FX) Class Archived 2008-06-23 at the Wayback Machine
    21. ↑ MooTools' Element Class - A comprehensive list of Element manipulation methods. Archived 2008-09-05 at the Wayback Machine
    22. ↑ A Better Way to Use Elements
    23. ↑ MooTools Core Builder
    24. ↑ MooTools More Builder
    25. ↑ jQuery versus Mootools

    Further reading


    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.

    Page kept on Wikipedia This page exists already on Wikipedia.