Was ist AJAX?

Das "Prinzip AJAX" und seine Auswirkungen auf das Web 2.0

3.57143
(14)
Kommentar schreiben
Stand: 30. August 2011

Die AJAX-Technologie spaltete um das Jahr 2005 die Web-Welt: "Revolution" meinten die einen, "Hype" sagten die anderen zu der Kombination aus asynchronem JavaScript und XML. Mittlerweile ist AJAX voll etabliert und die Basis fast aller modernen Webseiten, die interaktiv mit dem Anwender agieren. Doch worum geht es eigentlich genau?

AJAX steht für 'Asynchrones JavaScript und XML' - und ermöglicht Webapplikationen wie die neue Version von Google, die so schnell sind, dass sie mit ihren Anwendern nahezu in Echtzeit interagieren können. Obwohl immer wieder Daten mit dem Webserver ausgetauscht werden. Denn mit AJAX werden bei einer Anfrage durch die Nutzer einer Webseite nur die gerade benötigten Teile der Seite nachgeladen, statt sie komplett neu zu laden. So verkürzen sich Lade- und Wartezeiten dramatisch. Das ist besonders für Webanwendungen entscheidend, für die sehr viele Daten dynamisch zur Verfügung stehen müssen. Und das war vor dem Auftreten von AJAX nicht - oder nur mit viel Aufwand - möglich.

Der eigentliche AJAX-Kick für das WWW ist also "Speed": Lange Wartezeiten bei einfachen Änderungen der Webseite gehören der Vergangenheit an, seit sich AJAX durchgesetzt hat.

Die Kerntechniken von AJAX

Die Kerntechniken von AJAX sind dabei nicht neu: HTML beziehungsweise XHTML, JavaScript, Stylesheets, JSON, XML sowie eine im Grunde beliebige Programmiertechnik auf dem Server.

HTML beziehungsweise XHTML, JavaScript und Stylesheets firmieren dabei zusammen als eine Technik mit Namen DHTML. DHTML steht für dynamisches HTML. Der Begriff ist jedoch nicht standardisiert und verschiedene Leute verstehen darunter teilweise unterschiedliche Dinge. In jedem Fall geht es aber darum, eine Webseite zu verändern nachdem sie bereits in den Browser geladen wurde. Als Technik für Stylesheets werden im Web fast ausschließlich die so genannten Cascading Stylesheets oder kurz CSS verwendet.

Das 'X' in AJAX steht für XML. Dieses Datenformat gestattet den Austausch von Informationen, die über den Text hinausgehende Metainformationen beinhalten. Allerdings kann der Datenaustausch zwischen Server und Client auch andere Datenformate nutzen. So können beispielsweise reine Textinformationen, HTML- Fragmente oder andere Klartexte verwendet werden. XML und JSON bieten jedoch die am weitesten gehenden Möglichkeiten.

Als Mitglied können Sie diesen Beitrag weiterlesen!

Werden Sie Mitglied und testen Sie akademie.de 14 Tage lang kostenlos!

In den ersten 14 Tagen haben Sie Zugriff auf alle Inhalte auf akademie.de, außer Downloads. Sie können in dieser Zeit ohne Angabe von Gründen stornieren. Eine E-Mail an service@akademie.de genügt. Nur wenn Sie Mitglied bleiben, wird der Mitgliedsbeitrag nach Ende der 14tägigen Stornofrist abgebucht.

Ich bin bereits Mitglied
Jetzt Mitglied werden und akademie.de 14 Tage kostenlos testen
Ich entscheide mich für folgende Zahlungsweise:
14 Tage Stornorecht:
Ich kann meine Mitgliedschaft in den ersten 14 Tagen jederzeit formlos stornieren, z.B. per E-Mail an service@akademie.de.

Kurzer Kommentar zu TCP vom Autor: Die Kritik ist zum Teil berechtigt, wenn man den reinen Zyklus Senden-Empfangen betrachtet. Allerdings soll hier mit Verbindungsorientierung eine permanente Verbindung zwischen Server und Client über einen solchen Einzelzyklus hinaus bezeichnet werden. Und dieser besteht nicht. Das Missverständnis ist aber naheliegend, da die Formulierung zweideutig ist.

Die Beschreibung des TCP-Protokolls ist so nicht richtig. TCP an sich ist ein verbindungsorientierte Protokoll. Der Client baut eine Verbindung mit dem Server auf (per Handshaking, etc.). Die Segmente einer Web-Seite werden über diese Verbindung übertragen. Bei der Anforderung einer neuen Web-Seite baut der Client eine neue TCP Verbindung zum Server auf. (siehe z.B. Wikipedia)

Hey!

Ich wollte kein Bewertung abgeben und das System hat das trotzdem gemacht.

Mein Beitrag wertet in keiner Weise den obigen Text.

(Frechheit vom CMS)

.rd.

AJAX ist alter Wein in neuen Schläuchen. Ein Modewort (Buzzword). Ein Hirngespinst, dass nur eine bestimmte Art zu Denken und Programmieren beinhaltet. Also keine Technologie.

Den Browsern stand schon Mitte der 90er die JavaScript (ECMA-Skript währe korrekt und nicht "auch" dieser Marketing Gag) Funktion HttpRequest zur Verfügung. Ich hatte damals schon Experimente in diese Richtung gemacht, bin aber immer wieder an der Implementierung des DOM der einzelnen Browser gescheitert. GOTT SEI DANK hat ENDLICH auch der IE diesen Standart zum Schluss auch noch ordentlich implementiert.

Früher nannte man das Dynamic HTML heute halt AJAX. Klingt, als hätte man mit einem Spühlmitte altes Silber aufpoliert.

Cheers

.rd.

Einen Gegensatz zwischen Speed und Interaktivität aufzubauen erscheint mir nicht sinnvoll - eher akademisch. Es geht nicht zuletzt darum, dass bislang eine Interaktivität (d.h. das, was man sieht, von den bisherigen Angaben abhängig ist) häufig ausblieb, weil das Applikationen im WWW bislang weitestgehend nicht in der Lage waren dem Nutzer den Eindruck zu vermitteln, dass sofort auf seine Angaben reagiert wurde. Stattdessen gab es ein mühsames "senden" und empfangen von neuen Seiten. Der "Kick" der Interaktivität, von dem mein Vorredner spricht, wird dadurch erreicht, dass Reaktionen auf Nutzerangaben (sprich Interaktivität) durch die AJAX-Technik SCHNELLER, d.h. scheinbar als Sofortreaktion erscheinen. Daher ist die Frage der Geschwindigkeit ein Schlüssel zur Interaktivität. Fazit: Speed ist die Voraussetzung für Interaktivität - kein Gegensatz!

Ich fand den Beitrag sehr gut und informativ - für mich war er genau richtig!

Merkwürdige Ansichten. Der "Kick" hinter AJAX ist sicher nicht Speed, sondern Interaktion. Wer AJAX einsetzt, um Seiten erst mal "halb" zu laden, macht zweifellos etwas falsch. Und damit sind auch weitere Argumente des Autors hinfällig: Suchmaschinen konnten schon immer nur sehr eingeschränkt mit dynamischen, interaktiven Webpräsenzen umgehen - sie können ja das User-Verhalten nicht vorhersehen. Und es ist auch nicht AJAX anzulasten, wenn jetzt zig Anwendungen auftauchen, die ohne AJAX genauso (und unproblematischer) zu handhaben wären.
So ziehen sich halbgare Äußerungen durch den ganzen Artikel, aber konkrete Hinweise darauf, wenn AJAX sinnvoll eingesetzt wird (oder besser nicht), bleibt der Autor schuldig. Wenn es um Barierrefreiheit geht, wäre bspw. ein Hinweis auf die fehlende JS- und DHTML-Fähigkeit von Screenreadern angebracht. Oder man könnte die frage stellen, was denn eigentlich mit Mobile Web und exotischen Browsern abseits von MSIE, Firefox und Opera ist (wobei selbst letzterer mit mancher AJAX-Library schon Probleme erzeugt).
Zweifellos hat AJAX Stärken und Schwächen. Eine fundierte Auseinandersetzung hiermit habe ich in dem Beitrag aber leider vermisst.

Downloads zu diesem Beitrag

Newsletter abonnieren