+ All Categories

Download - AJAX

Transcript
Page 1: AJAX

  Referent:  Torben Brodt  Veranstaltung: Fachseminar Webframeworks  Datum: 13.12.2007

Page 2: AJAX

   

AJAX: Inhalt

1. Einführung

2. Technologien● JavaScript, DOM, HTTP

3. AJAX Code Beispiel

4. Abgrenzung JavaScript/AJAX

5. Probleme

Page 3: AJAX

   

Webanwendungen

Altes Web: Auf jede Reaktion folgen lange Ladezeiten Um 2005 revolutioniert AJAX den Begriff ~ Web 2.0? Nun gleicht Bedienung der von Desktop Anwendungen Google wurde technologischer Vorreiter mit:

Google Maps, Google Mail, Google Suggest Heute kompletter Office Ersatz

1/5

Page 4: AJAX

   

Webanwendungen 1/5

Page 5: AJAX

   

AJAX Einführung

Asynchronous JavaScript and XML AJAX ist keine Programmiersprache Zusammenführung mehrerer Technologien

DOM JavaScript HTTP

2/5

Page 6: AJAX

   

Was ist DOM?

Document Object Model Repräsentierung von Inhalten in einem Baum Standardisierung durch W3C (z.B. XHTML)

2/5

Page 7: AJAX

   

Was ist JavaScript?

Client­Skriptsprache ­ vom Browser interpretiert ”überall” verfügbar, wenig Anforderungen, keine VM Benutzt zur Ereignisbehandlung (hover, focus, ...) Dynamische Manipulierung des Dokuments (DOM) Problem: Teils unterschiedliche Funktionen zwischen 

verschiedenen Browsern Nähe zu Flash begründet! Gleiche Grundlage ECMA. 

JavaScript2 wird auf ActionScript 3 basieren.

2/5

Page 8: AJAX

   

JavaScript und DOM

Volle Kontrolle über den Client­Code Einbettung in ein <script> Element innerhalb <head> Traversierung, Manipulierung, ...

2/5

Page 9: AJAX

   

und HTTP? (synchron)

Normale Websites werden in einem Rutsch geladen Eine GET Anfrage Eine HTTP Antwort

2/5

Page 10: AJAX

   

asynchrones HTTP

Daten können live geholt/gesendet worden  Browser kapselt Request in eigenen Thread weder TCP, noch andere Socketverbindung nötig! Im Idealfall nur Datenübertragung ­ Teile werden 

aktualisiert

2/5

Page 11: AJAX

   

und HTTP? (asynchron) 2/5

Page 12: AJAX

   

AJAX Beispiel

Wir erzeugen ein XMLHttpRequest Objekt JavaScript Objekt zur HTTP Kommunikation

3/5

Page 13: AJAX

   

AJAX Beispiel

Wir öffnen die Verbindung

Wir legen eine Callback Methode fest

Wir schicken den Request ab

3/5

Page 14: AJAX

   

AJAX Beispiel

Callback ­ wir behandeln die Server­Antwort

XML Objekt vom Server und HTML Objekt des Clients werden beide durch DOM repräsentiert und identisch behandelt

3/5

Page 15: AJAX

   

AJAX Beispiel # 3/5

Page 16: AJAX

   

Wann spricht man von AJAX?

JavaScript Effekte sind kein AJAX Interaktivität und Asynchronität sind nicht das selbe

Interaktivität = Benutzer agiert mit Seite durch AJAX werden die Anfragen bis in ein 

Datenmodel im Backend durchgereicht durch Asynchronität muss der Benutzer während 

dem Nachladen nicht warten

4/5

Page 17: AJAX

   

Wann spricht man von AJAX?

Bewertungen live  Drag/Drop speichern  Instant Messaging online  Texte live ändern  Uploadbalken 

4/5

Page 18: AJAX

   

Probleme der Entwickler

Serverüberlastung (Polling­Problem) n­gleichzeitige Clients.. sekündliche Abfragen Client: HTTP Verbindung zum Server

Gibt es neue Nachrichten? Server: Verbindung zu Datenbank/IRC Socket

Ja, gibt es. Hier sind die Daten... Abfruf der Daten und Einfügen

5/5

Page 19: AJAX

   

Probleme der Entwickler

Clientüberlastung mehr und mehr Daten werden dem Client 

hinzugefügt DOM Baum wächst und wächst ­> häufiges  

Neurendern Operationen dauern länger, Speicherverbrauch 

steigt Hoffnung: JavaScript nutzt Garbage Collector

5/5

Page 20: AJAX

   

Probleme der Entwickler

Zeichenkodierung im Web Webserver, DBMS und Website (Metaangabe) 

benutzen im Idealfall alle UTF­8 Selbst mit Entities (&auml;) kann man Probleme 

erhalten, da wenn Entity nicht bekannt ”unvalid” Viele Sprachen bieten utf8_encode/decode

5/5

Page 21: AJAX

   

Probleme der Entwickler

Zeichenkodierung im Web Webserver, DBMS und Website (Metaangabe) 

sollten alle UTF­8 verwenden Selbst mit Entities (&auml;) kann man Probleme 

erhalten, da XML unvalide Viele Sprachen bieten utf8_encode/decode

5/5

Page 22: AJAX

   

Probleme der Entwickler

Browser­Navigation ­> Bookmarking ­> ... ­> Browserhistorie ­> Deep Links

5/5

Page 23: AJAX

   

Probleme der Entwickler

Überlappende, asynchrone AJAX Aufrufe Variante 1: Falsche Verwendung in einer Variablen Variante 2: Unbekannte Latenzzeit

5/5

Page 24: AJAX

   

Frameworks

vollständige und abgerundete Frameworks vorhanden aber unüberschaubarer Markt alle Frameworks unterscheiden sich in Kleinigkeiten

5/5

Page 25: AJAX

   

Fragen


Top Related