Ajax
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
Korrektheit: 3 (zu größeren Teilen überprüft) |
Umfang: 3 (einige wichtige Fakten fehlen) |
Quellenangaben: 4 (fast vollständig vorhanden) |
Quellenarten: 4 (sehr gut) |
Konformität: 3 (gut) |
Quellenverweise im Text fehlen.
Framework-Beispiele sollten ausgebaut werden (nicht nur Ruby on Rails).
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.
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.
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.
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).
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.
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 drei 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
undsubmit_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
unddrag
anddrop
. - 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
Quellen
- ↑ Stefan Mintert; Zwei Helden; IX 11 2005 S.56-59; Heise Verlag Hannover
- Jesse James Garrett, Ajax: A New Approach to Web Applications
- James Edwards, AJAX and Screenreaders: When Can it Work?
- Olaf Bergmann, Carsten Bormann, AJAX - Frische Ansätze für das Web-Design, 1. Auflage 2005, TEIA AG Lehrbuch Verlag Berlin; ISBN 3-935539-26-3 (Online-Version des Buchs)
- Stefan Mintert, Zwei Helden, IX 11 2005 S.56-59,Heise Verlag Hannover
- Dave Crane, Eric Pascarello, Ajax in Action, Manning Publications, Greenwich 2006, ISBN 1-93239461-3
- Bruce Perry, Ajax Hacks - Tips and Tools for Creating Responsive Web Sites, O'Reilly Verlag April 2006; ISBN 0-596-10169-4
- Ajax on Rails