AJAX und Web 2.0
AJAX, steht für "Asynchronous JavaScript + XML" und koppelt diverse
Technologien wie
JavaScript,
XHTML,
HTML,
CSS
und
XML. AJAX wird oft als die Technologie hinter dem Web 2.0 bezeichnet, da
es dazu beiträgt, dynamische Webseiten mit Inhalten verschiedener Anbieter
zu gestalten und so für ein neues Nutzungserlebnis sorgt.
JavaScript
JavaScript ist eine spezielle Programmiersprache, die vom
Webbrowser
verstanden und ausgeführt werden kann, um einzelne Teile der
dargestellten Seite dynamisch zu verändern. Ein JavaScript-Programm wird
automatisch ausgeführt wenn bestimmte Benutzereingaben erfolgen, z.B. die
Eingabe in ein Formularfeld, Mausklicks oder das Bewegen des Mauszeigers
über bestimmte Bildschirmbereiche. JavaScript-Programme können somit sofort
auf Eingaben des Benutzers reagieren. Wenn Sie einen unzulässigen Wert in
ein Formular eintragen, kann das JavaScript-Programm die Eingabe überprüfen
und Sie auf Fehler aufmerksam machen. Wenn Sie zum Beispiel als Geburtsdatum
den "14.22.2005" eingeben, wird festgestellt, dass es keinen "22." Monat
gibt.
Mit JavaScript lässt sich dann ein Fenster mit einem Warnhinweis öffnen oder
das Eingabefeld selbst könnte rot markiert werden, um den Fehler anzuzeigen.
Der Vorteil von JavaScript besteht darin, dass der Fehler sofort nach der
Eingabe bemerkt wird. Es müssen also nicht erst alle Formulareingaben
gesammelt und dann zum Webserver geschickt werden bevor der Fehler bemerkt
wird. Einige Daten lassen sich jedoch nicht so leicht verarbeiten. Wenn zum
Beispiel geprüft werden soll, ob ein Stadtname tatsächlich existiert, müsste
jedes Mal die Liste aller Städte in den Browser geladen werden – ein
ziemlich zeitintensiver Prozess. Aus diesem Grund wurde JavaScript
dahingehend erweitert, dass es direkt Daten mit dem Webserver austauschen
kann, ohne dass die vollständige Seite neu vom Webserver geladen werden
muss. Statt des gesamten Formulars wird jetzt also nur noch "Hammburg" an
den Webserver geschickt. Dieser antwortet dann "gibt es nicht" oder besser
noch "richtig ist: Hamburg" und dieses Feedback wird direkt ausgegeben,
indem die aktuell angezeigte Seite sich verändert. Die dargestellte Webseite
ändert sich also nicht mehr als Ganzes sondern häppchenweise nach
Bedarf.
Asynchrones JavaScript
Weil die Informationen nicht mehr als eine große Einheit übertragen werden
spricht man von einem asynchronen Aufbau der Darstellung. Hieraus ergibt
sich auch das Kunstwort AJAX, das für "Asynchronous JavaScript + XML" steht.
XML ist dabei das Dokumentenformat, in dem JavaScript die Daten direkt mit
dem Webserver austauscht.
Im Prinzip ist dies bereits seit Ende der 1990er möglich. Doch was heute gut
funktioniert, war in den Anfängen recht mühsam zu entwickeln. Das lag daran,
dass jeder Browserhersteller versuchte, eigene Standards zu
etablieren, um Marktanteile zu sichern.
Um auf einzelne Elemente eines Dokumentes zuzugreifen – Eingabefelder,
Bilder oder dieser Textabsatz, den Sie gerade lesen – mussten die Entwickler
für jeden Browser unterschiedlich vorgehen. Die (Um-)
Gestaltungsmöglichkeiten waren ebenfalls von der jeweiligen Browserversion
abhängig, mit der Folge, dass oft unerwünschte Ergebnisse oder
Fehlermeldungen produziert wurden.
Mit fortschreitender Standardisierung der Beschreibungssprachen für Struktur
und Layout von Webseiten gehören diese Probleme jedoch der Vergangenheit an.
Zudem ist die Entwicklung erheblich effizienter geworden, da fertige
Programmbibliotheken für AJAX verfügbar sind. So muss sich ein Entwickler
nicht mehr damit beschäftigen dynamische Bedienelemente selbst zu
programmieren sondern kann auf fertige Komponenten zurückgreifen. Typische
Beispiele sind aufpoppende Sprechblasen mit Erläuterungen, Vorschläge bei
der Eingabe von Daten, Schieberegler,
Drag & Drop
Operationen, Fortschrittsbalken,
WYSIWYG
-Editor oder Vorschaubilder von Fotos. Solch typische
Interaktionsformen des Web 2.0 sind als
AJAX Design Patterns
dokumentiert.
Rich Internet Applications
AJAX ist jedoch nicht die einzige Möglichkeit, um dynamische
Benutzeroberflächen im Web zu gestalten. Einige Web 2.0-Anwendungen beruhen
auf
Flash,
Java-Applets
oder Java-Webstart. In
Java
(nicht zu verwechseln mit JavaScript) können herkömmliche
Anwendungen entwickelt und über einen Web-Browser zugänglich gemacht werden
– eine Installation der Software ist nicht nötig. Leider haben viele (alte)
Java-Anwendungen eine schlecht gestaltete Benutzeroberfläche und ordnen sich
nicht in das Look & Feel von Web 2.0-Anwendungen ein. Zudem muss bei
heutigen Browsern ein zusätzliches Plugin installiert werden, bevor die
Anwendungen funktionieren.
Dieses Problem hat Adobe mit seinem Flash-Format nicht. Zwar handelt es
sich bei Flash auch um ein Plugin, doch in der Regel sind die Browser gleich
nach der Installation damit ausgestattet. Ursprünglich war Flash ein Format
zur Wiedergabe von Animationen. Inzwischen bietet Flash jedoch eine Reihe
von Möglichkeiten, um interaktive Schnittstellen zu gestalten und ist die
Grundlage vieler Web 2.0-Anwendungen. Vor allem grafisch orientierte
Anwendungen profitieren von den gestalterischen Möglichkeiten des
Flash-Formats. Für den Endanwender ist oft nicht ersichtlich, ob im
Hintergrund AJAX, Flash, Java oder ein anders Plugin läuft. Daher werden oft
auch alle Technologien als AJAX-Anwendungen oder Rich Internet Applications
bezeichnet.