MooTools
# MooTools

MooTools (My Object Oriented Tools) ist ein freies JavaScript-Webframework zur effizienten Entwicklung von erweiterbarem und browserübergreifend kompatiblem Code. Es ist objektorientiert, modular und kompakt. Das Framework steht unter der MIT-Lizenz. Etwa 2 % aller Webseiten nutzen MooTools.

## Eigenschaften

* Erweiterbar und modular, so dass es Entwicklern möglich ist, nur die Komponenten einzubinden, die tatsächlich benötigt 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:

Zusätzlich stellt es einen eigenen Satz an Klassen zur Verfügung, mit denen es beispielsweise leicht möglich ist, verschiedene Effekte zu verwirklichen. 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.

