Websiteentwicklung: AJAX: Was ist AJAX

Aus Wikibooks

Wechseln zu: Navigation, Suche


Nuvola apps bookcase.svg Websiteentwicklung Nuvola apps bookcase 1.svg AJAXNuvola mimetypes dvi.png Was ist AJAX

Inhaltsverzeichnis


AJAX ist ein englisches Apronym für die Wortfolge „Asynchronous JavaScript and XML“, das man grob übersetzen kann mit: "asynchrones Nachladen von Javascript plus dynamische Manipulation der DOM". Das X steht dabei eigentlich für XML, in der Praxis ist es aber eher ein Platzhalter: die Daten werden in X verschiedenen Formaten vom Server zum Client geladen.

Der Begriff wurde von Jesse James Garrett geprägt, siehe [1].

Das erste eingängige Beispiel ist vielleicht Google Suggests.

Bei klassischen Web-Applikationen sieht der Ablauf so aus:

  • URL eintippen
  • Warten (Webformular wird geladen*)
  • Formular ausfüllen
  • Formular ausfüllen
  • Formular ausfüllen
  • Formular absenden
  • Warten (Antwort wird geladen*)

Nur bei den mit Sternchen markierten Stellen passieren Datenübertragungen zwischen Server und Client - während die UserIn das Formular ausfüllt also gar nicht. Mit AJAX ändert sich das:

  • URL eintippen
  • Warten (Webformular wird geladen*)
  • Formular ausfüllen (Liste nachladen*)
  • Formular ausfüllen (Feld speichern*)
  • Formular ausfüllen (Bild austauschen*)
  • Formular absenden
  • Warten (Antwort wird geladen*)

[Bearbeiten] Die Technologien

AJAX vereinigt alle Technologien, die Sie in diesem Wikibook kennen gelernt haben:

  • Eine Seite wird per HTML und CSS dargestellt
  • Javascript setzt asynchrone XMLHttpRequests ab und definiert die Callback-Funktionen
  • Der Server empfängt eine HTTP-Anfrage und bearbeitet sie.
  • Per Javascript werden die Serverantworten mit Hilfe von DOM in die Seite integriert.

[Bearbeiten] Entwicklungsumgebung für AJAX

Um erfolgreich AJAX-Applikationen zu entwickeln empfiehlt sich die Verwendung eines AJAX-fähigen Debuggers wie z.B. der Firebug-Erweiterung von Firefox:

[Bearbeiten] Libraries und Frameworks für AJAX

Sie können AJAX auf verschiedenen Ebenen entwickeln:

Eigenbau
Sie schreiben selbst in Javascript. Dabei müssen Sie selbst die Browser-Unterschiede des XMLHTTPRequest-Objekts behandeln - nicht zu empfehlen
Clientseitige Bibliothek
Sie verwenden eine Bibliothek (engl. library), die das XMLHTTPRequest-Objekt kapselt, so dass Sie browserunabhängig arbeiten können. Sie schreiben auf der Webseite Javascript-Code und separat davon ein serverseitiges Programm. Beispiel: prototype.js
Framework mit Mapping
Sie verwenden ein Framework, das Javascript mit Ihrer bevorzugten serverseitigen Programmiersprache verbindet: Ein Javascript-Funktionsaufruf mit Javascript-Datentypen als Argumente wird z.B. automatisch in einen PHP-Funktionsaufruf umgesetzt (mit PHP-Datentypen als Argumente). Beispiel: Mybic für PHP.
Framework, das Javascript generiert
Sie verwenden eine serverseitige Programmiersprache, die fertige AJAX-Komponenten anbietet, ohne dass Sie dafür Javascript programmieren müssen. Beispiel: Ruby on Rails.
Toolkit, das Javascript generiert
Sie verwenden clientseitig Ihre bevorzugte Programmiersprache (inkl. z.B. gewohnter IDE, Debug- und Testumgebung) und einen Compiler, der den Quellcode dieser Sprache in Javascript übersetzt. Beispiel: GWT (Google Web Toolkit)

[Bearbeiten] Links


One wikibook.svg Hoch zu AJAX | Vor zu AJAX-Applikationen kennen lernen Wikibooks buchseite.svg


Persönliche Werkzeuge