AJaX oder Asynchrones JavaScript and XML
ist ein Konzept der asynchronen Datenübertragung zwischen einem Server und dem Browser der es ermöglicht, die Inhalte einer Seite zu verändern, ohne dass die Seite neu geladen wird. Auch wenn man bei genauerem hinsehen festellt: Asynchron ist es nicht immer, XMLwird so gut wie nie eingesetzt und JavaSript ist immer beteiligt.
Was ist dann eigentlich AJaX genau?
Es ist ein Mix aus verschiedenen Technologien. AJaX bedient sich gängiger Technologien wie xHTML, CSS, JavaScript, Document Object Model (DOM), XML und dem AJaX XMLHttpRequest. Es lässt sich in Verbindung mit vielen verbreiteten Technologien wie Perl und PHP einsetzten.
Funktionsweise der einzelnen Webtechnologien in AJaX
AJaX baut genau wie andere Webtechnologien auf HTML und CSS auf. HTML dient dabei als Auszeichnungssprache und CSS als Formatierung. Als neue Technologie wird das JavaScript Object Notation, kurz JSON Format eingesetzt. JSON ist ein ein unabhängiges Format zur Textformatierung zum Zwecke des Datenaustausches und basiert auf auf einer Untermenge der JavaScript Programmiersprache.
Das Ajax Request Objekt und der MS IE
Ab der Version 7 des Microsoft Internet Explorer ist das XMLHttpRequest Objekt verfügbar. Bei Version 5 und 6 gibt es dieses Objekt nicht. Stattdessen werden die ActiveXObjecte Msxml2.XMLHTTP und Microsoft.XMLHTTP, die die gleiche Funktionalität bereitstellen, verwendet.
Ajax Frameworks
Einige Teile des Codes von Ajax Anwendungen ähneln sich häufig, deshalb gibt es im Web einige Frameworks, die das Programmieren von Ajax Anwendungen erleichtern. Als Beispiel seien hier die JavaScript Frameworks Prototype und MochiKit genannt. Weitere Infos zu JavaScript und AJaX Frameworks gibt es hier.
Einige Beispiel für AJaX Anwendungen:
- Google Map
- Del.icio.us
- Warenkorbsysteme bei vielen Onlineshops
- Google Mail
- Microsoft Outlook Web Access usw.
Vor- und Nachteile von AJaX
Vorteile
- Kein Neuladen aufgebauter Seiten / Reduzierung des Trafik
- es werden keine Browser-Plugin benötigt
- es ist kostenfrei
Nachteile
- Javascript muss aktiviert sein
- meist nicht barrierefrei
- veränderte Vorgehensweise bei der Navigation ( Vor- / Zurückbutton, Lesezeichen)
- ungenaue Page Impressions
Page Impressions und AJaX
Bei einer HTML Seite, werden Seitenzugriffe mit Hilfe der URL gemessen. Bei AJaX Anwendungen, wird das protokollieren nicht mehr so einfach, da eine Anforderung an den Webserver gesendet wird, ohne die URL zu wechseln. Eine Möglichket zum Messen derSeitenzugriffe ist die JavaScript Funktion _trackPageview von Google, mit der Seitendateinamen für AJaX- und JavaScript-Ereignisse zugewiesen werden können.
siehe auch Google: Erfassen von AJaX Anwendungen
AJaX-Unterstützung
Alle großen Browser in der neusten Version unterstützen AJaX. Weiterhin werden unterstützt:
Apple Safari ab Version 1.2
Shiira ab Version 0.9.1.1
Google Chrome
Konqueror ab Version 3.2
[Quelle Browserunterstützung: wikipedia.org]
Brauche ich AJaX für meine Webseite?
Die Frage ist berechtigt! Trotz der Vorteile von AJaX, darf man den hohen Entwicklungsaufwand und die damit verbundenen Kosten nicht vergessen. Ein weiteres Problem ist die Bereitstellung von nicht scriptgesteuerte Alternativen. Gerade die Navigation (Bookmark, Vor- und Zurück im Browser) bereitet vielen Nutzern Probleme. Die großen Vorteile von AJaX sind Desktop-Applikationensfunktionen auf den Webclient zu legen. Dieser Trend zeichnet sich bereit seit ein paar Jahren ab. Letztlich muss sich jeder Homepage-Entwickler fragen, ob AJaX für sein Projekt das richtige ist.
Fazit
Alles in allem ist AJaX eine der viel versprechensten Entwicklung im Web. Mit AJaX ist es möglich, das träge Verhalten von Web-Applikation bei der Interaktion zu überwinden. Mit AJaX lassen sich Web-Applikation so weit beschleunigen, das Desktop-Applikationen ins Web verlagert werden können.
Ein Nachteil von AJaX ist die teilweise nicht vorhandene Barrierefreiheit. Lesegeräte habenmit dynamisch generierten Inhalten noch Probleme. Hier sind die Hardware - Entwickler gefragt.
Suchmaschinen hatten bis dato mit dynamischen Inhalten Probleme. Zumindest Google soll mittlerweile auch JavaScript lesen können.
Das größte Problem werden trotz immer mehr im Web erscheinender Frameworks, die hohen Entwicklungsaufwände von AJaX bleiben. Somit werden AJaX Anwendungen zumindest noch eine ganze Zeit im Homepage-Bereich die Seltenheit bleiben.
Wer sich mit AJaX beschäftigen möchte, dem empfehle ich AJaX von Kopf bis Fuß von Brett McLaughlin. Das Buch ist aus der "von Kopf bis Fuß" Reihe, die auf frische und unkonventionelle Art das lernen zum Spaß macht.
