MooTools (My Object Oriented Tools) ist ein freies JavaScript-Framework zur effizienten Entwicklung von erweiterbarem und browserübergreifend kompatiblem Code. Es ist objektorientiert, modular und kompakt. Das Framework steht unter der MIT-Lizenz. Über 5 % aller Webseiten nutzen MooTools.
Eigenschaften
- Erweiterbar und modular, sodass Entwickler nur die Komponenten auswählen können, die tatsächlich eingesetzt werden.
- Starke Objektorientierung für mehr Flexibilität und Erweiterbarkeit.
- Effektkomponente mit Transitionen, für Animationen innerhalb der Webseite.
Komponenten
MooTools beinhaltet eine Reihe von Komponenten, wobei nicht jede davon für jede Applikation benötigt wird. Einige der Hauptkomponenten sind:
Core
eine Kollektion von Funktionen, die von allen anderen Komponenten benötigt werden.
More
eine offizielle Kollektion von Erweiterungen, die Core erweitern und weitere Funktionen hinzufügt.
Class
ist die MooTools-Basisklassenbibliothek für die Instanziierung von Klassenobjekten.
Natives
eine Kollektion von JavaScript-nativen Objekten. Natives fügen zusätzliche Funktionen hinzu, erhöhen die Kompatibilität und erweitern MooTools um neue Methoden.
Element
ist eine Komponente für weitere Verbesserungen und zur Erhöhung der Kompatibilität der HTML-Element-Objekte.
Effects
ist eine Effekte-API zur Animation von Elementen.
Remote
stellt eine XHR-Schnittstelle bereit, Cookies und diverse JSON-Werkzeuge für Entwickler.
Window
stellt eine browserübergreifende Schnittstelle zu klientspezifischen Informationen bereit, z. B. der Bildschirmauflösung.
Eine optionale, komprimierte JavaScript-Datei, die benutzerspezifische Komponenten enthält, kann direkt beim Download auf der MooTools-Webseite erstellt werden.
Browserkompatibilität
MooTools ist kompatibel und getestet mit:
- Safari 3+
- Internet Explorer 6+
- Firefox 2+
- Opera 9.0+
- Chrome 4+
Objektorientierte Programmierung
MooTools beinhaltet eine robuste Klassensammlung und ein fortschrittliches Vererbungssystem, welches eine Wiederverwertung des Quellcodes und eine einfache Erweiterung ermöglicht. Zum Beispiel:
var Tier = new Class({ initialize: function(name) { this.name = name; } }); var Katze = new Class({ Extends: Tier, reden: function() { return 'Miau!'; } }); var Hund = new Class({ Extends: Tier, reden: function() { return 'Wuff! Wuff!'; } }); var tiere = { a: new Katze('Missy'), b: new Katze('Mr. Bojangles'), c: new Hund('Lassie') }; Object.each(tiere, function(tier) { alert(tier.name + ': ' + tier.reden()); }); // Ausgabe der Dialogfenster // // Missy: Miau! // Mr. Bojangles: Miau! // Lassie: Wuff! Wuff!
Zusätzlich stellt es einen eigenen Satz an Klassen zur Verfügung, mit denen es beispielsweise leicht möglich ist, verschiedene Effekte zu realisieren. Dazu zählen Größenänderungen des Browserfensters, Ein- und Ausblendeeffekte, Bewegungseffekte und vieles mehr (Ajax, JSON usw.). Übergangseffekte lassen sich mit wenigen Zeilen Code realisieren, da MooTools die meisten Arbeitsschritte selbst erledigt.
Quelle: Wikipedia (http://de.wikipedia.org/wiki/MooTools)