MooTools

Mootools
MooTools (logo).png
Entwickler (en) Das Mootools Dev Team
Erstveröffentlichung 7. März 2007; vor 15 Jahren[1]
Stabile Version
1.6.0 / 14. Januar 2016; vor 6 Jahren[2]
Repository https://github.com/mootools/mootools-core
Geschrieben in JavaScript
Typ Ajax Framework / JavaScript -Framework
Lizenz MIT -Lizenz[3]
Webseite Mootools.Netz

Mootools (Meine objektorientierten Werkzeuge)[4] ist ein leichtes Gewicht, objektorientierter JavaScript Rahmen. Es wird unter dem freigelassen Kostenlose, offene Source MIT -Lizenz.[5]

Überblick

Mootools bietet dem Benutzer eine Reihe von Optionen, die über den nativen JavaScript hinausgehen. Diese beinhalten:

  • Ein erweiterbares und modulares Rahmen, mit dem Entwickler ihre eigene maßgeschneiderte Kombination von Komponenten auswählen können.[6]
  • Mootools folgen objektorientierten Praktiken und der TROCKEN Prinzip.[7]
  • Eine fortschrittliche Effektkomponente mit optimierten Übergängen wie Lockern von Gleichungen, die von vielen Flash -Entwicklern verwendet werden.[8]
  • Verbesserungen zum DomErmöglicht es den Entwicklern, DOM -Elemente einfach hinzuzufügen, zu ändern, auszuwählen und zu löschen. Das Speichern und Abrufen von Informationen mit Elementspeicher wird ebenfalls unterstützt.[9]

Das Rahmen umfasst integrierte Funktionen zur Manipulation von CSS, Dom Elemente, native JavaScript -Objekte, Ajax Anfragen, DOM -Effekte und mehr. Mootools bietet auch ein detailliertes, kohärent Programmierschnittstelle (API),[10] sowie ein benutzerdefiniertes Download -Modul, mit dem Entwickler nur die Module und Abhängigkeiten herunterladen können, die sie für eine bestimmte App benötigen.[11][12]

Geschichte

Valerio Proietti hat das Framework erstmals verfasst und im September 2006 veröffentlicht[13] als seine Inspiration nehmen Prototyp und Dean Edwards Basis2. Mootools stammten aus Moo.fx, einem beliebten JavaScript Effects Library veröffentlicht im Oktober 2005 von Valerio Proietti als Add-On zum Prototyp JavaScript Framework.[14] Es kann als leichtere Alternative zu verwendet werden script.aculo.us oder andere, größere Bibliotheken. Es bietet einfache, grundlegende Effekte und garantiert eine kleine Bibliotheksgröße.

Während der Prototyp erweiterte - entfaltete - viele von JavaScripts native String-, Array- und Funktionsobjekten von JavaScript mit zusätzlichen Methoden gewünschte, wünschte ProTi einen Rahmen, der (zu dieser Zeit)[15] erweiterte auch das native Elementobjekt weiter[13] eine größere Kontrolle über die zu bieten Dokumentobjektmodell (DOM).[16]

Komponenten

Mootools umfasst eine Reihe von Komponenten, aber nicht alle müssen für jede Anwendung geladen werden. Einige der Komponentenkategorien sind:

  • Kern: Eine Sammlung von Dienstprogrammfunktionen, die alle anderen Komponenten benötigen.[17]
  • Mehr: Eine offizielle Sammlung von Add-Ons, die den Kern erweitern und verbesserte Funktionen bieten.[18]
  • Klasse: Die Basisbibliothek für Klassenobjekt -Instantiation.[19]
  • Eingeborene: Eine Sammlung von JavaScript Native Objektverbesserungen. Die Eingeborenen fügen Funktionen, Kompatibilität und neue Methoden hinzu, die die Codierung vereinfachen.
  • Element: Enthält eine große Anzahl von Verbesserungen und Kompatibilitätsstandardisierung an die HTML -Element Objekt.[20]
  • Fx: Ein fortgeschrittener Effekte-API zu animierten Seitenelementen.[21]
  • Anfrage: Inklusive Xhr Schnittstelle, Cookie, JSON, und Html Abrufspezifische Tools für Entwickler, die ausnutzen können.[22]
  • Fenster: Bietet eine Cross-Browser-Schnittstelle für clientspezifische Informationen, wie z. B. die Dimensionen des Fensters.[23]

Browser-Kompatibilität

Mootools ist kompatibel und getestet mit:[24]

Betonung der Modularität und Wiederverwendbarkeit

Jedes JavaScript -Framework hat seine Philosophie, und Mootools ist daran interessiert, die Flexibilität und Kraft von JavaScript auf eine Weise zu nutzen, die eine größere Modularität und die Wiederverwendung von Code hervorhebt. Mootools erreicht diese Ziele intuitiv zu einem Entwickler von a Klassenbasierte Vererbung Sprache wie Java mit den Mootools Klasse Objekt.

Klasse ist ein Objekt von Schlüssel-/Wertpaaren, die entweder Eigenschaften oder Methoden (Funktionen) enthalten. Klasse wird mühelos gemischt und erweitert mit anderen Klassenstantiliken, die den hervorragendsten Fokus von Mootools ermöglichen: Code -Wiederverwendung, die durch Maximierung der Macht des prototypischen Vererbens von JavaScript, aber in a Klasse Objektsyntax für klassische Vererbungsmodelle.[25]

Objekt orientierte Programmierung

Mootools enthält ein robustes Erstellungs- und Vererbungssystem der Klassen, das am klassischsten basiert Objektorientierte Programmiersprachen. Zum Beispiel ist das Folgende das Äquivalent des Mootools der Beispiele In Wikipedia's Polymorphism Seite:

var Tier = Neu Klasse({{  initialisieren: Funktion(Name) {  Dies.Name = Name;  } }); var Katze = Neu Klasse({{  Erweitert: Tier,  sich unterhalten: Funktion() {  Rückkehr 'Miau!';  } }); var Hund = Neu Klasse({{  Erweitert: Tier,  sich unterhalten: Funktion() {  Rückkehr 'Arf! Arf! ';  } }); var Tiere = {  a: Neu Katze("Missy"),  b: Neu Katze('Herr. Bojangles '),  c: Neu Hund("Lassie") }; Objekt.jeder(Tiere, Funktion(Tier) {  Alarm(Tier.Name + ':' + Tier.sich unterhalten()); });   // alarmiert Folgendes: // // Missy: Meow! // Mr. Bojangles: Meow! // Lassie: ARF! ARF! 

Siehe auch

Verweise

  1. ^ Früheste bekannte Veröffentlichung
  2. ^ "Release 1.6.0 · Mootools/Mootools-Core". GitHub.
  3. ^ "Mootools". mootools.net.
  4. ^ "Mootools bei Fosdem Slides" (PDF). Archiviert von das Original (PDF) Am 2011-07-23. Abgerufen 2010-02-17.
  5. ^ Die offizielle Mootools -Website
  6. ^ Mootools 'Kern -Download -Seite
  7. ^ Mootools Klassenobjekt Archiviert 2008-08-31 im Wayback -Maschine
  8. ^ Mootools 'Effekte (FX) Klasse Archiviert 2008-06-23 bei der Wayback -Maschine
  9. ^ Die Elementklasse von Mootools - Eine umfassende Liste von Elementmanipulationsmethoden. Archiviert 2008-09-05 in der Wayback -Maschine
  10. ^ Eine bessere Möglichkeit, Elemente zu verwenden
  11. ^ Mootools Core Builder
  12. ^ Mootools mehr Baumeister
  13. ^ a b Newton, Aaron (18. September 2008). Mootools Essentials: Die offizielle Mootools -Referenz für JavaScript und AJAX -Entwicklung (1. Aufl.). Apress. S. xvi. ISBN 978-1-4302-0983-6.
  14. ^ Newton, Aaron (18. September 2008). Mootools Essentials: Die offizielle Mootools -Referenz für JavaScript und AJAX -Entwicklung (1. Aufl.). Apress. S. xv. ISBN 978-1-4302-0983-6.
  15. ^ Version 1.6.1 des Prototyps enthält "ein Element -Metadatenspeichersystem". Prototyp 1.6.1 freigegeben Archiviert 2010-03-01 AT Archive.Today Von Sam Stephenson, geschrieben am 1. September 2009. Abgerufen am 21. März 2010.
  16. ^ Beachten Sie, dass Mootools das einheimische Objekt nicht erweitert -alle JavaScript -Primitive wie String und Funktion erben daraus - aber stattdessen einen bequemen Hash für den Zweck: Stellen Sie sich dies so vor, als würde man eine Reihe von Dienstprogrammmethoden haben, die eine nahezu mühelose Objektmanipulation regelmäßiger JavaScript -Objekte ermöglichen, die ansonsten von dem Prozess nicht beeinflusst werden. ( Newton, Aaron (18. September 2008). Mootools Essentials: Die offizielle Mootools -Referenz für JavaScript und AJAX -Entwicklung (1. Aufl.). Apress. S. xvi. ISBN 978-1-4302-0983-6.)
  17. ^ Mootools Kern Archiviert 2009-10-02 bei der Wayback -Maschine
  18. ^ Mootools mehr Archiviert 2009-10-04 bei der Wayback -Maschine
  19. ^ Mootools Klasse Archiviert 2008-08-31 im Wayback -Maschine
  20. ^ Mootools Element Archiviert 2008-09-05 in der Wayback -Maschine
  21. ^ Mootools FX -Klasse Archiviert 2008-06-23 bei der Wayback -Maschine
  22. ^ Mootools Anfrageklasse Archiviert 2008-07-30 bei der Wayback -Maschine
  23. ^ Zusätzlich zur Größe für jedes Element erhalten Sie einfach die Abmessungen des Fensters Archiviert 2008-09-11 bei der Wayback -Maschine
  24. ^ Mootools listet seine Kompatibilität auf seiner Homepage auf.
  25. ^ JQuery gegen Mootools

Weitere Lektüre

Externe Links