Ajax / Bibliotheken & Frameworks

© 2006 Tim Baumgarten


[Inhaltsverzeichnis][Zurück: Kritische Aspekte][Weiter: Glossar]

Bibliotheken & Frameworks

Mittlerweile gibt es eine große Zahl an mehr oder weniger umfangreichen Javascript-Bibliotheken bzw. Frameworks die versuchen die Arbeit mit Javascript und speziell XMLHttpRequest zu vereinfachen und gleichzeitig komfortabler zu machen. Dafür gilt es in einem ersten Schritt Browserunterschiede auszugleichen und Zugriffsmöglichkeiten zu vereinheitlich. Meistens geschieht dies durch Wrapperfunktionen oder Objekte die sich intern um Fallunterscheidungen und sonstige Details kümmern. Im einem zweiten Schritt übernimmt die jeweilige Bibliothek Teile der Abwicklung immer gleicher Vorgänge, was die Arbeit noch weiter erleichtert. Zudem könnnen ganz eigene Erweiterungen und Zusatzfunktionen angeboten werden, die zum Teil weit über den vom Browser angebotenen Funktionsumfang hinausgehen.

Solche Bibliotheken erlauben es nun browserübergreifend arbeitende Ajax-Anwendungen relativ komfortabel entwickeln ohne dabei auf Browserunterschiede achten zu müssen, im Folgenden ist eine kleine Auswahl an freien Bibliotheken kurz beschrieben:

prototype

Selbstbeschreibung: A JavaScript framework that aims to ease development of dynamic web applications.
Homepage: http://prototype.conio.net.

Prototype ist aus dem Ruby On Rails Projekt hervorgegangen und erfreut sich auch außerhalb der Rails Gemeinschaft großer Beliebtheit. Prototype erweitert bestehende JavaScript Objekte um neue Funktionen und bietet eigene nützliche Objekte wie z.B. ein sehr komfortabel zu benutzendes Ajax-Objekt. Eine Art Markenzeichen ist die Funktion $(), eine Abkürzung für document.getElementById().

dojo

Selbstbeschreibung: A standard library for JavaScript that excells in helping you build responsive apps faster.
Homepage: http://www.dojotoolkit.org

Dojo nennt sich selbst ein Javascript Toolkit, es bietet für ziemlich jede Standardaufgabe bereits fertige Javascript Komponenten. Nutzt man diese sinnvoll anstatt ständig das Rad neu zu erfinden, kann man in kurzer Zeit umfangreiche Anwendungen erstellen.
Je nach Bedarf kann man zwischen verschiedenen sog. Editionen wählen die sich im Funktionsumfang und damit auch in der Ladezeit unterschieden. Für einfache Ajax Anwendungen reicht beispielsweise die I/O (XHR) Edition.

MochiKit

Selbstbeschreibung: Makes JavaScript Suck Less
Homepage: http://www.mochikit.com

MochiKit ist in vielen Aspekten an Python angelehnt und bietet trotz relativ kompaktem Code eine Menge Funktionalität z.B. beim Manipulieren des DOM.
Im Gegensatz zu vielen anderen Bibliotheken ist MochiKit sehr gut dokumentiert, so spart man sich den Code durchgehen oder nur anhand von Beispielen die Funktionensweisen verstehen zu müssen.
Kommt beispielsweise als eine Komponente im Python basierenden Web Framework Turbogear zum Einsatz.

jQuery

Selbstbeschreibung: Designed to change the way you write Javascript
Homepage: http://jquery.com

Bei jQuery wurde alle Funktionalität in nur ein Objekt gepackt, welches meistens als Wrapper dazu dient bestimmte Methoden auf Elemente des DOM anzuwenden. Elementlose Methoden sind direkt ansprechbar $.ajax(), Methoden die auf Elemente angewendet werden sollen werden folgendermaßen genutzt $(elemente).methode().

jQuery unterstützt dabei verschiedene Arten diese Elemente anzugeben:

Andere Bibliotheken beschränken sich zumeist auf ID's um Elemente anzusprechen.