MooTools
| {{#if: | {{{Name}}} | {{#invoke:WLink|getArticleBase}} }}
{{#if: | | ||||||||
|---|---|---|---|---|---|---|---|---|
colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | |
{{#if: {{#invoke:Wikidata|claim|P154}} |
| ||||||||
[[Datei:{{#invoke:Wikidata|claim|P154}}|150px]]
}} }}{{#if: | | ||||||||
| {{#if: JavaScript-Framework | JavaScript-Framework }}| }} | ||||||||
| Basisdaten
{{#if: | | ||||||||
| Hauptentwickler |
{{#if: {{#invoke:Wikidata|claim|P126}} |
| |||||||
| Maintainer | claim|P126|parameter=link|references=ja|list=, }}
}} }}{{#if: Das MooTools-Entwicklerteam | | |||||||
| Entwickler |
{{#if: {{#invoke:Wikidata|claim|P178}} |
| |||||||
| Entwickler | claim|P178|parameter=link|references=ja|list=, }}
}} }}{{#if: | | |||||||
| Erscheinungsjahr |
{{#if: {{#invoke:Wikidata|claim|P577}} |
| |||||||
| Erscheinungsjahr | claim|P577|references=ja|list=, }} |
{{#if: {{#invoke:Wikidata|claim|P571}} |
| |||||||
| Erscheinungsjahr | claim|P571|references=ja|list=, }}
}} }} }}{{#ifeq: | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Version | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813}} |
|
| Aktuelle Version | claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|!Q3295609,Q51930650,Q2122918,Q21727724,Q1072356,Q6736813|qualifier=P577}}) }}}}}} }}{{#ifeq: {{{AktuelleVorabVersion}}} | KEINE_ANGABE || {{#if: | | |||||||
| Aktuelle Vorabversion | ({{#if: | Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an. |
format | {{{AktuelleVorabVersionFreigabeDatum}}} | {{#timefl:now|date}}}} | {{{2}}} | T._Monat JJJJ}} | lang= {{#switch: | -|=de | #default=de-AT
}} }} }}) }} |
{{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724}} |
|
| Aktuelle Vorabversion | claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|references=ja}} {{#if: {{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}} | ({{#invoke:Wikidata|claim|P348|P548|Q1072356,Q51930650,Q3295609,Q2122918,Q21727724|qualifier=P577}}) }}}}}} }}{{#if: | | |||||||
| Ausführungsumgebung |
{{#if: plattformunabhängig |
| |||||||
| Betriebssystem | plattformunabhängig |
{{#if: {{#invoke:Wikidata|claim|P306}} |
| |||||||
| Betriebssystem | claim|P306|parameter=link|references=ja|list=, }}
}} }} }}{{#if: JavaScript | | |||||||
| Programmiersprache | JavaScript |
{{#if: {{#invoke:Wikidata|claim|P277}} |
| |||||||
| Programmiersprache | claim|P277|parameter=link|references=ja|list=, }}
}} }}{{#if: Klassenbibliothek | | |||||||
| Kategorie | Klassenbibliothek
}}{{#if: MIT-Lizenz | | |||||||
| Lizenz | MIT-Lizenz |
{{#if: {{#invoke:Wikidata|claim|P275}} |
| |||||||
| Lizenz | claim|P275|parameter=link|references=ja|list=, }}
}} }}{{#if: sprachneutral | | |||||||
| deutschsprachig | faculty|sprachneutral}} | ja | nein }}
}}{{#if: | | |||||||
| Sonstiges | {{{Sonstiges}}}
}}{{#if: www.mootools.net | | |||||||
www.mootools.net |
{{#if: {{#invoke:Wikidata|claim|P856|notdeprecated=1}} |
| ||||||||
{{#invoke: WLink | formatURL | {{#invoke:Wikidata|claim|P856|parameter=link|notdeprecated=1}}}}
}} }}{{#if: | | ||||||||
| Dateien | [[c:Category:Created with {{{Dateien}}}|{{{Dateien}}}]]
}} | |||||||
MooTools (My Object Oriented Tools<ref>http://mootools.net/blog/2009/04/01/a-new-name-for-mootools/</ref>) 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.<ref>http://w3techs.com/technologies/overview/javascript_library/all</ref>
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:
<syntaxhighlight lang="javascript"> 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! </syntaxhighlight>
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.
Siehe auch
Weblinks
Einzelnachweise
<references />