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.

Letzte Änderung: 08.04.2015