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)
