© 2006 Tim Baumgarten
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:
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()
.
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.
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.
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:
$('ul > li.active').hide()
$(Element).hide()
Andere Bibliotheken beschränken sich zumeist auf ID's um Elemente anzusprechen.