Ajax: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Fooler (Diskussion | Beiträge)
Kowa (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(40 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Definition=
{{Qualität
|correctness        = 3
|extent              = 3
|numberOfReferences  = 4
|qualityOfReferences = 4
|conformance        = 3
|annotation1 = Quellenverweise im Text fehlen.
|annotation2 = 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
[[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.
Browserimplementierungen. Die Besonderheit dieser Technik ist das im Hintergrund eine Kommunikation zwischen Browser und Server stattfindet, die nicht vom Benutzer direkt ausgeht.


==Basistechniken==
===Basistechniken===
Die Basistechniken von Ajax-Anwendungen sind HTML, JavaScript das DOM (Document Object Model), CSS ([[Cascading_Stylesheet |Cascading Stylesheets]])und XML. Die eigentliche Neuerung an Ajax ist das Verknüpfen dieser Techniken / Programmiersprachen zu einer Einheit die eine Asynchrone Kommunikation erlaubt.
Die Basistechniken von Ajax-Anwendungen sind HTML, [[JavaScript]] das [[DOM]] (Document Object Model), [[CSS]] ([[Cascading_Stylesheet |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==
===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. [[bild:Asynchrone_Kommunikation.jpg]]
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.  


[[Datei:Asynchrone_Kommunikation.jpg|gerahmt|links|Asynchrone Kommunikation bei Verwendung von Ajax-Technologie, vgl. <ref>Stefan Mintert; Zwei Helden; IX 11 2005 S.56-59; Heise Verlag Hannover</ref> ]]
<div style="clear:both;"></div>
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).
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).


Zeile 14: Zeile 26:
Es gibt inzwischen viele Anwendungen, die auf der Ajax-Technologie basieren. Die bekanntesten dürften  [http://maps.google.com Google Maps], [http://www.google.com/webhp?complete=1&hl=en Google Suggest], [http://www.flickr.com flickr] und die gesamte Palette von Ajax-Anwendungen auf der Seite von [http://www.ajaxlaunch.com Ajax Launch] sein.
Es gibt inzwischen viele Anwendungen, die auf der Ajax-Technologie basieren. Die bekanntesten dürften  [http://maps.google.com Google Maps], [http://www.google.com/webhp?complete=1&hl=en Google Suggest], [http://www.flickr.com flickr] und die gesamte Palette von Ajax-Anwendungen auf der Seite von [http://www.ajaxlaunch.com Ajax Launch] sein.


=Quellen=
===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: <code>link_to_remote</code>, <code>periodically_call_remote</code>, <code>form_remote_tag</code> und <code>submit_to_remote</code>.
; 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: <code>autocompletion</code>, <code>auto_complete_field</code> und <code>drag</code> and <code>drop</code>.
; 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==
 
<references/>
<ol>
<li value="2">[http://www.adaptivepath.com/publications/essays/archives/000385.php Jesse James Garrett, Ajax: A New Approach to Web Applications]</li>
<li> [http://www.sitepoint.com/article/ajax-screenreaders-work James Edwards, AJAX and Screenreaders: When Can it Work?]</li>
<li> 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 ([http://www.teialehrbuch.de/kurse/ajax/ Online-Version des Buchs])</li>
<li> Stefan Mintert, Zwei Helden, IX 11 2005 S.56-59,Heise Verlag Hannover</li>
<li> Dave Crane, Eric Pascarello, Ajax in Action, Manning Publications, Greenwich 2006, ISBN 1-93239461-3</li>
<li> Bruce Perry, Ajax Hacks - Tips and Tools for Creating Responsive Web Sites, O'Reilly Verlag April 2006; ISBN 0-596-10169-4</li>
<li> [http://books.google.de/books?id=AXyvAC_oNx0C&pg=PA30&vq=layouts&dq=ajax+in+rubyonrail&source=gbs_search_s&sig=ACfU3U0FqcCWwwUTqxvxv6md_yTqGKpZdA#PPR2,M1 Ajax on Rails]</li>
</ol>


* Artikel von Jesse James Garrett, Ajax: A New Approach to Web Applications, [http://www.adaptivepath.com/publications/essays/archives/000385.php]
*Wikipedia Ajax (Programmierung) [http://de.wikipedia.org/wiki/Ajax_(Programmierung)]
*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 ([http://www.teialehrbuch.de/kurse/ajax/ 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;
*James Edwards, AJAX and Screenreaders: When Can it Work?, [http://www.sitepoint.com/article/ajax-screenreaders-work]
*Bruce Perry, Ajax Hacks - Tips and Tools for Creating Responsive Web Sites, O'Reilly Verlag April 2006; ISBN 0-596-10169-4;
[[Kategorie:Web-Programmierung]]
[[Kategorie:Web-Programmierung]]
[[Kategorie:Content-Management]]
[[Kategorie:Content-Management]]
[[Kategorie: World Wide Web]]
[[Kategorie:World Wide Web]]
[[Kategorie:Glossar]]
[[en:GlossaryWiki:Ajax]]
[[en:GlossaryWiki:Ajax]]

Aktuelle Version vom 16. Mai 2019, 09:36 Uhr

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.

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).

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 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

Quellen

  1. Stefan Mintert; Zwei Helden; IX 11 2005 S.56-59; Heise Verlag Hannover
  1. Jesse James Garrett, Ajax: A New Approach to Web Applications
  2. James Edwards, AJAX and Screenreaders: When Can it Work?
  3. 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)
  4. Stefan Mintert, Zwei Helden, IX 11 2005 S.56-59,Heise Verlag Hannover
  5. Dave Crane, Eric Pascarello, Ajax in Action, Manning Publications, Greenwich 2006, ISBN 1-93239461-3
  6. Bruce Perry, Ajax Hacks - Tips and Tools for Creating Responsive Web Sites, O'Reilly Verlag April 2006; ISBN 0-596-10169-4
  7. Ajax on Rails