AJAX

AJAX steht als Abkürzung für die englische Bezeichnung »Asynchronous JavaScript And XML«. Es handelt sich um eine Methode, Webanwendungen zu beschleunigen, indem durch zeitversetzte – also: asynchrone – Übertragung Daten mit dem Server ausgetauscht werden, ohne dass die betreffende Webseite dafür vollständig neu geladen werden muss. Hierzu wird zwischen Browser und Server das AJAX-Script geschaltet, das zum einen im Hintergrund die notwendige Kommunikation abwickelt und zum anderen die Benutzeroberfläche an genau den Stellen aktualisiert, wo es gerade erforderlich ist.

AJAX ist selbst keine Programmiersprache, sondern basiert auf einer Verknüpfung bereits bestehender Webprogrammierungsmöglichkeiten, bei deren Anwendung man sich unter anderem auf Initiative der hierzu gegründeten OpenAjax Alliance um Standardisierung bemüht hat. Die Techniken in ihrer ursprünglichen Form gibt es bereits mehr als zwanzig Jahre, seit 2005 werden sie unter dem jetzigen, griffigen Namen zusammengefasst und weiterentwickelt. Im Kern benötigt eine AJAX-Anwendung lediglich aktiviertes JavaScript, der Datenaustausch erfolgt bezeichnungsgemäß über die Textauszeichnungssprache XML – oder geeigneten Ersatz. Je nachdem kann es sich beispielsweise aus Gründen der Praktikabilität oder der Performance anbieten, stattdessen das Datenaustauschformat JSON zu verwenden oder aber gleich fertige HTML-Fragmente zu übertragen.

Traditionelle synchrone Webanwendungen sind durch das Wechselspiel zwischen Benutzereingabe und Serverantwort charakterisiert; solange vom Server nicht die neuen Inhalte geladen sind, bleibt der Anwender dabei blockiert. Dadurch gibt es ständig Wartezeiten. Außerdem entsteht jedes Mal unnötig großer Datenfluss, weil bei auch nur minimalen Änderungen die Webseite dennoch komplett neu übertragen wird. Verzögerung oder sogar Ausbleiben einer erwarteten Serverreaktion kann schließlich zu Fehlern bis hin zum Anwendungsabbruch führen. Das AJAX-Script verlagert daher so umfänglich wie möglich Serveraufgaben – darunter Eingabeauswertung sowie Anzeigesteuerung – auf den Client und lässt durch lokale Datenzwischenspeicherung zudem den Anwender nach Belieben weiterarbeiten, während die Kommunikation im Hintergrund abgekoppelt und auf das unbedingt Notwendige beschränkt wird.

Entwicklungsseitig stellt es nicht selten eine Herausforderung dar, bei AJAX die intuitive Benutzung und Funktion des Zurück-Buttons im jeweiligen Browser zu gewährleisten. Hier muss der Anwender gegebenenfalls mit Einschränkungen rechnen. Auch verlangen derartig dynamisch generierte Webseiten Besonderes von den Internet-Robotern der Suchmaschinen, was eine Indexierung beträchtlich zu erschweren oder gar zu verhindern vermag. Bei der AJAX-Programmierung ist auf diese Problematik dann zusätzliches Augenmerk zu richten.

Bekannte AJAX-Anwendungen sind Google Maps, Flickr, Last.fm und Facebook.

Für weiterführende Informationen zu

AJAX

oder zu anderen Themen aus dem Bereich Online-Marketing und Web-Entwicklung stehen wir Ihnen gerne zur Verfügung.