Ajax

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen:
  ★★★★★ Korrektheit: vollständig überprüft
  ★★★★★ Umfang: alle wesentlichen Fakten sind vorhanden
  ★★★★★ Quellenangaben: vollständig vorhanden
  ★★★★★ Quellenqualität: ausgezeichnet
  ★★★★☆ GlossarWiki-Konformität: sehr gut
Quellenverweise im Text fehlen.
Framework-Beispiele sollten ausgebaut werden (nicht nur Ruby on Rails).

1 Definition

Ajax ist ein Apronym für Asynchronus JavaScript and XML. Der Begriff Ajax wurde maßgeblich durch einen Artikel von Jesse James Garrett vom Februar 2005 geprägt, die eigentlichen Basistechniken von Ajax schlummern aber schon seit 1998 in den verschiedenen Browserimplementierungen. Die Besonderheit dieser Technik ist das im Hintergrund eine Kommunikation zwischen Browser und Server stattfindet, die nicht vom Benutzer direkt ausgeht.

1.1 Basistechniken

Die Basistechniken von Ajax-Anwendungen sind HTML, JavaScript das DOM (Document Object Model), CSS (Cascading Stylesheets)und XML. Die eigentliche Neuerung an Ajax ist das Verknüpfen dieser Techniken / Programmiersprachen zu einer Einheit die eine Asynchrone Kommunikation erlaubt.

1.2 Asynchrone Kommunikation

Die Asynchrone Kommunikation findet bei Verwendung der Ajax-Technologie im Hintergrund statt und wird ermöglicht durch den XMLHttpRequest Während der Benutzer auf einer Website z.B. seine Adressdaten eingibt kommuniziert der Browser hier schon mit dem Server und hat so die Möglichkeit Daten zu vervollständigen oder z.B. die Postleitzahl auf deren Korrektheit zu überprüfen.Dadurch ergeben sich für den Benutzer kürzere Bearbeitungszeiten und das Warten auf eine Antwort vom Server entfällt.

Asynchrone Kommunikation bei Verwendung von Ajax-Technologie, vgl. [1]

Wie man an dieser Grafik gut sehen kann kommuniziert der User nur drei Mal mit dem Browser und damit mit dem Server (t = 1, 2,3) während der Browser im Hintergrund eigenständig mit dem Server kommuniziert (rote Pfeile).

2 Beispiele

Es gibt inzwischen viele Anwendungen, die auf der Ajax-Technologie basieren. Die bekanntesten dürften Google Maps, Google Suggest, flickr und die gesamte Palette von Ajax-Anwendungen auf der Seite von Ajax Launch sein.

3 Ajax mit Ruby on Rails

Wenn Ajax ganz normal mit Javascript entwickelt wird kann das sehr schnell darauf hinauslaufen, dass viele Zeilen unübersichtlichen Javascript Codes entstehen. Eine gute Alternative hierfür ist Ruby on Rails zu benutzen, das es ermöglicht Ajax zu nutzen ohne Javascript Code schreiben zu müssen. Dafür nutzt es 3 verschiedene Frameworks aus:

  • Prototype:

Das Prototype Framework wurde von Sam Stephenson entwickelt. Es enthält Ajax-Tags und -Funktionen, um Daten remote zu verändern und Seiten zu aktualisieren, sodass der Benutzer mit der Oberfläche weiterhin agieren kann und sie nicht komplett neu geladen werden muss. Beispiel-Tags für dieses Framework wären: link_to_remote, periodically_call_remote, form_remote_tag und submit_to_remote.

  • Script.aculo.us:

Das von Thomas Fuchs entwickelte Framework bietet Ajax-Tags und -Funktionen, um UI (User Interface) Effekte zu ermöglichen. Beispiel hierfür wären: autocompletion, auto_complete_field und drag and drop.

  • RJS Template:

Dieses Framework, dass von den Ruby Entwickler selbst erstellt wurde, kann Ruby generiertes oder selbst geschriebens Javascript an einen Browser zurückgegeben, um die Seite dort zu aktualisieren. Der spezielle Befehl der für die Controller dafür zur Verfügung steht ist render :update.

Um die Frameworks nutzen zu können müssen die Helper (Bibliotheken in Ruby on Rails) ActionView::Helpers::PrototypeHelper und ActionView::Helpers::ScriptaculousHelper in die Views (Ansichten für den Benutzer) mit dem Befehl <%= javascript_include_tag <Helper> %> eingebunden werden

4 Quellen

  1. Stefan Mintert; Zwei Helden; IX 11 2005 S.56-59; Heise Verlag Hannover

4.1 Siehe auch

Ajax Framework

In diesem Artikel sollten die Quellenangaben überarbeitet werden.
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.