www.wikidata.de-de.nina.az
Ajax ˈeidʒaeks auch AJAX Akronym von englisch Asynchronous JavaScript and XML bezeichnet ein Konzept der asynchronen Datenubertragung zwischen einem Browser und dem Server Dieses ermoglicht es HTTP Anfragen durchzufuhren wahrend eine HTML Seite angezeigt wird und die Seite zu verandern ohne sie komplett neu zu laden Das Modell einer traditionellen Webanwendung links im direkten Vergleich mit einer Ajax Webanwendung rechts Samtliche Anwendungsdaten werden auf dem Server in einer Datenbank und oder einem Legacy System abgespeichert Inhaltsverzeichnis 1 Der Aufbau einer Ajax Anwendung 2 Geschichte 2 1 Ursprunge 2 2 Erste Ajax Anwendungen 2 3 Standardisierung der Ajax Technologien 3 Vergleich mit herkommlichen Webanwendungen 4 Beispiel 5 Die Ajax Plattform 5 1 Client Plattform 5 2 Server Plattform 6 Vor Nachteile und Kritik 6 1 Kein Neuladen aufgebauter Seiten 6 2 Kein Browser Plug in wird benotigt 6 3 Umfangreiche Tests erforderlich 6 4 Serverseitige Browsererkennung 6 5 Verwendung der Zuruck Schaltflache 6 6 Polling Problem 6 7 Lesezeichen 6 8 Ruckmeldung 6 9 Differenzierung zwischen Konzept und Begriff 6 10 Unterstutzung des MVC Architekturmusters 6 11 Barrierefreies Internet 6 12 Suchmaschinen Deep Links 7 Status Verbreitung 8 Anwendungsbeispiele 9 Quellen 10 Literatur 11 WeblinksDer Aufbau einer Ajax Anwendung BearbeitenEine Ajax Anwendung basiert auf folgenden Web Techniken HTML oder XHTML Document Object Model DOM zur Reprasentation der Daten oder Inhalte JavaScript zur Manipulation des Document Object Models und zur dynamischen Darstellung der Inhalte JavaScript dient auch als Schnittstelle zwischen einzelnen Komponenten Das XMLHttpRequest Objekt Bestandteil vieler Browser um Daten auf asynchroner Basis mit dem Webserver austauschen zu konnen Eine andere Transportmethode ist On Demand JavaScript 1 bei der eine JavaScript Datei per DOM Manipulation angefordert wird Fur den Aufruf von Ressourcen Funktionen bzw Methoden API gibt es die Ansatze REST Aufruf mittels klassischer HTTP Techniken z B GET http localhost person 4 SOAP Ubertragung von Methodenname und Parametern als XML DokumentBei der asynchronen Ubertragung der Daten haben sich verschiedene Verfahren etabliert REST ahnliche Verfahren um Nutzdaten in Textform zu ubertragen JSON ein auf JavaScript zugeschnittenes textbasiertes Format fur Daten und Objekte Diverse proprietare XML Formate SOAP ein Protokoll fur Webservices das meist XML als Austauschformat verwendetIm Zusammenhang mit Ajax Anwendungen werden auch andere Webtechnologien eingesetzt die ursachlich aber keinen Zusammenhang mit Ajax haben CSS zur Formatierung einer Webseite XSLT zur DatentransformationGeschichte BearbeitenUrsprunge Bearbeiten Von wem die Begriffsschopfung Ajax ursprunglich stammt ist nicht mehr eindeutig nachvollziehbar Sicher ist jedoch dass den Begriff Jesse James Garrett Mitarbeiter der Agentur Adaptive Path in seinem Aufsatz Ajax A New Approach to Web Applications 2 vom 18 Februar 2005 massgeblich gepragt hat Grundsatzlich waren die technologischen Grundlagen und die Vorgehensweise aber bereits bekannt und wurden generell mit dem Begriff XMLHttpRequest beschrieben Wenn man so will hat Garrett also die Marke Ajax erschaffen um so diverse Software Technologien unter einem Begriff zusammenzufassen Die Idee und die damit verbundenen Technologien die dem Ajax Konzept zugrunde liegen gibt es in vergleichbarer Form schon seit etwa 1998 Die erste Komponente die es ermoglichte clientseitig eine HTTP Anforderung auszulosen basierte auf einer von Microsoft entwickelten Remote Scripting Komponente 3 Anfanglich als Java Applet umgesetzt wurde sie spater durch ein Inline Frame Element ersetzt Spater wurde diese Idee durch das Outlook Web Access Team verfeinert Diese Komponente ist Teil des Microsoft Exchange Servers und wurde auch bald in Form einer XML Unterstutzung als Bestandteil des Internet Explorers 4 0 ausgeliefert 4 Manche Beobachter stufen Outlook Web Access als ersten erfolgreichen Vertreter des Ajax Konzepts ein Dennoch basierten diese sehr fruhen Umsetzungen des Konzeptes teilweise noch nicht auf dem XMLHttpRequest Objekt Erste Ajax Anwendungen Bearbeiten Spater folgten Anwendungen wie Oddposts Webmail Dienst heute Yahoo Mail Im Jahr 2005 war der Begriff Ajax zunehmend durch einige wegweisende Ereignisse in den Medien prasent Zum einen benutzte Google das asynchrone Kommunikations Paradigma in einigen bekannten interaktiven Anwendungen wie beispielsweise Google Groups Google Maps Google Suggest Gmail und Google Finance Der von Garrett verfasste Artikel hat im Ajax Umfeld inzwischen einen gewissen Bekanntheitsgrad erlangt Letztlich hat sich die Ajax Unterstutzung der Gecko Engine in einem Mass entwickelt welche es ermoglicht die Ajax Technologie in vielfaltiger Weise einzusetzen Standardisierung der Ajax Technologien Bearbeiten Neueste Standardisierungsunterfangen des XMLHttpRequest Objekts seitens des W3Cs und die Grundung der OpenAjax Alliance 5 lassen erkennen dass die Industrie zukunftig die Ajax Technologie in ihre Produkte integrieren und somit auf breiter Basis unterstutzen wird Im Bereich der Standardisierung des Protokolls zwischen Webbrowser und Webserver kann der Kommunikationsstandard SOAP fur Ajax Anwendungen genutzt werden 6 um so auf einem Server bereits vorhandene Anwendungen die auf Webservices basieren wiederzuverwenden Vergleich mit herkommlichen Webanwendungen Bearbeiten nbsp Der Prozessfluss einer traditionellen WebanwendungAjax Anwendungen erwecken den Eindruck dass sie ganzlich auf dem Computer des Anwenders ausgefuhrt werden Der Prozessfluss einer traditionellen Webanwendung wird hingegen durch die zustandslose Natur einer HTTP Anfrage bestimmt Das damit unmittelbar verbundene Request Response Paradigma fuhrt dazu dass bei jeder Benutzeraktion eine zugehorige Anfrage englisch Request an den Server gerichtet wird Verzogert sich die erforderliche Antwort englisch Response des Servers oder bleibt diese gar aus so entstehen unweigerlich langere Wartezeiten oder im schlechtesten Fall Bruche im Ablauf der Anwendung Das geschilderte Szenario macht fur den Benutzer einer traditionellen Webanwendung deutlich dass sie auf mehrere Bereiche verteilt wurde ein Umstand der mit der Ajax Programmiertechnik transparenter und somit auch fehlertoleranter gestaltet werden soll Garrett beschreibt zur Abwicklung der Ajax Anfragen eine Ajax Engine eine in JavaScript geschriebene Komponente die die clientseitige Arbeit ubernimmt Jede Benutzeraktion die fur gewohnlich eine HTTP Anfrage erzeugen wurde erzeugt nun einen JavaScript Aufruf der an die Ajax Engine delegiert wird Jede Antwort auf eine Aktion des Nutzers die keine Verbindung zum Server erfordert wie beispielsweise das Validieren von Daten das Verandern von Daten welche sich im Speicher befinden und sogar das Navigieren zwischen einzelnen Elementen der Webseite all dies kann von der Ajax Engine bewaltigt werden Benotigt die Ajax Engine Daten vom Server um eine bestimmte Aktion erfolgreich durchfuhren zu konnen es kann sich hierbei beispielsweise um das Ubertragen von Daten die verarbeitet werden mussen um das Nachladen einzelner Bausteine der Benutzeroberflache oder um das Laden neuer Daten handeln fuhrt diese eine asynchrone Anfrage fur gewohnlich in Form eines XML Dokuments an den Server durch Dabei wurde jedoch die Interaktion des Benutzers mit der Anwendung wie dies bei gewohnlichen Webanwendungen der Fall ist nicht unterbrochen Garrett Traditionell ubermitteln Webanwendungen Formulare die zuvor vom Benutzer ausgefullt wurden an einen Webserver Der Webserver antwortet indem er dem Browser des Nutzers eine entsprechend den zuvor ubermittelten Formulardaten neu generierte Webseite schickt Weil der Webserver bei jeder Anfrage seitens des Nutzers eine neue Webseite erzeugen und ubermitteln muss erscheint die Anwendung dem Benutzer insgesamt als trage und wenig intuitiv vergleicht man diese mit einer gewohnlichen Desktop Anwendung Ajax Anwendungen hingegen sind in der Lage Anfragen an den Server zu schicken bei denen nur die Daten angefordert werden die tatsachlich benotigt werden Dies geschieht uber den Aufruf eines Webservices in einer der oben beschriebenen Varianten REST SOAP Der Aufruf erfolgt als asynchrone Kommunikation d h wahrend die Daten vom Server geladen werden kann der User weiter mit der Oberflache interagieren Sind die Daten fertig geladen dann wird eine zuvor benannte JavaScript Funktion aufgerufen die die Daten in die Webseite einbinden kann Im Ergebnis erhalt man so eine Benutzeroberflache die sehr viel zugiger auf Benutzereingaben reagiert teilweise weil wesentlich weniger Daten zwischen Webbrowser und Webserver ausgetauscht werden mussen teilweise weil die Daten asynchron geladen werden Zudem wird die Webserver Last reduziert da schon viele Verarbeitungsschritte clientseitig getatigt werden konnen Man stelle sich eine Webanwendung zur Verwaltung von Fotografien vor Mochte der Benutzer einem Foto eine Beschreibung oder einen Titel hinzufugen so muss mit einem traditionellen Programmieransatz die gesamte Seite einschliesslich der verkleinerten Foto Ansichten neu ubertragen werden Mit der Ajax Technik wird nur der veranderte Bereich der Webseite erneuert Das Beispiel veranschaulicht wie es innerhalb der Flickr Anwendung moglich ist Titel einzelner Bilder zu verandern Beispiel BearbeitenIm Wikibook Websiteentwicklung siehe Weblinks findet sich ein einfaches Beispiel Programm Dabei wird die JavaScript Library prototype als Ajax Engine verwendet welche die Details der asynchronen Kommunikation mit dem Webserver abhandelt Auf der Serverseite wird ein PHP Skript verwendet das kein XML sondern ein HTML Fragment liefert Der Ajax Request wird folgendermassen gesendet var myAjax new Ajax Request datum php method get onComplete zeige datum Das PHP Skript liefert ein Stuck unformatierten Text den man als HTML Fragment auffassen kann lt php echo Jetzt ist es date r gt Sobald die Daten fertig zum Browser ubertragen wurden wird die Funktion zeige datum aufgerufen die dann die Daten weiter verarbeiten und in die Webseite einbinden kann Dazu werden in diesem Beispiel nur herkommliche JavaScript Methoden und Eigenschaften verwendet function zeige datum originalRequest document getElementById output innerHTML originalRequest responseText Die Ajax Plattform Bearbeiten nbsp Der Prozessfluss einer Anwendung wie er sich bei Ajax darstelltDa Ajax Anwendungen dem Client Server Modell entsprechen ist sowohl innerhalb des Webbrowsers als auch auf dem entsprechenden Server eine Komponente notwendig die eine Ajax basierte Kommunikation ermoglicht Client Plattform Bearbeiten Die Umsetzung innerhalb des Webbrowsers erfolgt in den meisten Fallen mit der Hilfe einer umfangreichen Funktionalitat auf der Basis von JavaScript und dem XMLHttpRequest Objekt Dabei lassen sich zwei Kategorien von Plattformen unterscheiden Direkte Ajax Implementierungen Diese stellen auf dem Client eine API zur direkten Kommunikation von Daten zur Verfugung Dazu ist auf dem Server neben der initial angezeigten Seite ein weiterer Einstiegspunkt zur Ubermittlung der Daten zu realisieren Indirekte Ajax Implementierungen Dabei werden neue HTML Fragmente vom Server an den Client gesendet um die vorhandene Seite zu erganzen oder Teile davon zu ersetzen Meist wird dazu auf dem Server die komplette anzuzeigende Seite neu aufgebaut aber nur die relevanten Unterschiede zum Client ubertragen Beide Verfahren haben Vor und Nachteile Wahrend die direkte Verwendung oft serverseitige Ressourcen schont vereinfacht die indirekte Variante die Implementierung Server Plattform Bearbeiten Die eigentliche Programmlogik oder der Prozessfluss der Anwendung ist auf einem Server hinterlegt Dies geschieht beispielsweise in Form von EJBs NET Komponenten oder aber in Form von Skript Komponenten wie sie beispielsweise Bestandteil der Skriptsprache Ruby sind Das Ajax Konzept selbst erfordert keine spezifische Technik mittels derer die serverseitige Programmlogik umgesetzt werden muss Sowohl der Server als auch die Anwendungslogik werden im Ajax Kontext als Server Plattform bezeichnet Eine wesentliche Aufgabe des Servers bei Ajax Applikationen ist die Bereitstellung der im Browser benotigten Komponenten Da aufgrund der Sicherheitseinstellungen der Browser ein Cross Site Scripting nicht erlaubt ist Same Origin Policy muss der Webserver auch Daten von anderen Servern fur den Client zur Verfugung stellen und damit die Funktion eines Proxy Rechners ubernehmen Vor Nachteile und Kritik BearbeitenKein Neuladen aufgebauter Seiten Bearbeiten Der grosste Vorteil der Ajax Technologie ist die Tatsache dass Daten verandert werden konnen ohne dass die komplette Webseite vom Webbrowser neu geladen werden muss Dies erlaubt es Webanwendungen auf Benutzereingaben schneller zu reagieren Zudem wird vermieden dass statische Daten die sich unter Umstanden nicht geandert haben fortwahrend uber das Internet ubertragen werden mussen Kein Browser Plug in wird benotigt Bearbeiten Da die Ajax Technologien frei zuganglich sind werden sie unabhangig vom Betriebssystem von den Webbrowsern unterstutzt die auch JavaScript unterstutzen Ein Browser Plug in wird nicht benotigt Dies setzt voraus dass die JavaScript Unterstutzung nicht deaktiviert wurde genau das stellt den grossten Kritikpunkt und die grossten Probleme beim Einsatz dar Vergleichbare Techniken wie etwa Adobes Shockwave oder Flash sind jedoch immer noch mit dem Nachteil behaftet dass sie proprietar sind ein Browser Plug in benotigen und nur fur bestimmte Plattformen verfugbar sind Umfangreiche Tests erforderlich Bearbeiten Wie es auch bei dynamischen HTML Anwendungen zur Praxis geworden ist muss auch eine Ajax basierte Anwendung rigoros getestet werden um so die Eigenarten der diversen Webbrowser entsprechend behandeln zu konnen Im Laufe der Zeit hat sich die Ajax Technologie weiterentwickelt was dazu fuhrte dass fur diese nun diverse Programmbibliotheken zur Verfugung stehen Diese konnen zu einer weitestgehend fehlerfreien und einfacheren Anwendungsprogrammierung beitragen Bekannte JavaScript Bibliotheken sind Dojo Toolkit jQuery Prototype Xajax und Qooxdoo speziell fur Anwendungen die Desktops ahneln sollen Serverseitige Browsererkennung Bearbeiten Es wurden ebenfalls Techniken entwickelt wie beispielsweise die von Sun entwickelte JSF Technologie Apache Wicket oder die von Microsoft entwickelte Webforms Technologie die es ermoglichen webbasierte Anwendungen zu entwerfen die einer Desktop Anwendung nahekommen Zudem bieten diese die Moglichkeit auch Benutzer die einen Webbrowser ohne JavaScript Unterstutzung einsetzen in geeigneter Weise zu bedienen Der Browser Typ des jeweiligen Benutzers wird hierbei serverseitig ermittelt so dass es moglich ist diesem nur HTML Seiten zu schicken die auch von dessen Webbrowser dargestellt werden konnen Verwendung der Zuruck Schaltflache Bearbeiten Einer der am haufigsten beklagten Nachteile der Ajax Technologie ist die Tatsache dass es schwer moglich ist die Funktionalitat der Zuruck Schaltflache des Browsers zu gewahrleisten 7 Es besteht die Gefahr dass das Klicken der Zuruck Schaltflache nicht den vorherigen Zustand der Anwendung wiederherstellt da Browser fur gewohnlich nur statische Seiten in ihrer Historie abspeichern Das Unterscheiden zwischen einer statischen Seite die ganzlich in den Cache des Browsers geladen wurde und einer Seite die auf dynamische Weise verandert wurde mag knifflig sein Grundsatzlich erwartet ein Benutzer dass ein Klicken der Zuruck Schaltflache die zuletzt getatigte Aktion revidiert Auch wird oftmals durch das Klicken der Zuruck Schaltflache versucht eine Seite im Navigationspfad zuruckzublattern Aufgrund der Dynamik mit welcher viele Ajax Anwendungen behaftet sind ist dies nicht immer moglich da die einzelnen Navigationsschritte des Nutzers technisch nur sehr schwer reproduzierbar sind Softwareentwickler mussen eine Anderung des Zustandes dem Browser explizit mitteilen Moderne Browser bieten dafur die History API an Eine weit verbreitete Variante ist auch die URL mit einem Hashtag und einem Client Pfad zu erganzen der den aktuellen Navigationszustand einer Web Applikation reprasentiert Insbesondere wird hier der sogenannte Hash Bang 8 diskutiert um URLs zu diesem Zweck zu differenzieren Polling Problem Bearbeiten nbsp Schematische Darstellung des Request Response Verhaltens einer herkommlichen Browser basierten Anwendung inkl Thread Modell Pro Anfrage eines Clients wird ein Thread erzeugt Nachdem die HTTP Anfrage bearbeitet wurde werden Ressourcen die durch die Anfrage belegt wurden sofort wieder freigegeben Da Webserver vor Einfuhrung von Standards wie Websockets nicht in der Lage waren asynchrone Events an einen Ajax Client durchzuleiten wenn sie von diesem nicht angefordert wurden musste der Ajax Client seinerseits permanent beim Webserver nachfragen das eigentliche Polling ob ein neues Event erzeugt wurde bzw eine Anderung im Anwendungszustand stattgefunden hat Dies erzeugt eine vollig andere Auslastung auf einem Webserver verglichen mit der Last die von herkommlichen Anwendungen erzeugt wird Um ein andauerndes Polling zu vermeiden wurde die Technik entwickelt Poll Antworten solange zuruckzuhalten bis ein tatsachliches Ereignis oder ein Timeout eintritt Folglich ist mit einer Ajax Anwendung im Idealfall serverseitig eine Anfrage verknupft die letztlich dazu benutzt werden kann dem Anwendungs Client beim Eintreten eines entsprechenden Events eine Antwort zu schicken Diese Technik wirft allerdings neue Probleme auf Bisher war es ublich pro Anfrage an den Server einen Thread zu erzeugen dessen Ressource sofort nach dem Abarbeiten der Anfrage wieder freigegeben werden konnten Bei der beschriebenen Polling Technik ist diese Freigabe der Ressourcen jedoch nicht moglich Es bleiben also weiterhin Ressourcen wie beispielsweise Speicher belegt Dieses Problem stellt neue Anforderungen an die Skalierbarkeit einer Ajax Anwendung Eine mogliche Losung dieses Problems ist die Verwendung eines Application Servers der das Prinzip der Continuation deutsch Fortsetzung unterstutzt Lesezeichen Bearbeiten Ein ahnlich gelagertes Problem ist die Tatsache dass es bei Webseiten die dynamisch aktualisiert werden beinahe unmoglich ist ein Lesezeichen auf einen ganz bestimmten Zustand einer Webanwendung zu setzen Auch fur dieses Problem wurden zwischenzeitlich Losungen entwickelt Meistens wird in diesem Zusammenhang der Anker in der gegenwartigen URL Adresse verwendet der nach der Raute steht Auf diese Weise ist es moglich den Prozessfluss einer Anwendung zu verfolgen Zudem wird es dem Benutzer so ermoglicht uber den genannten URL Teil einen bestimmten Anwendungszustand wiederherzustellen Viele Webbrowser ermoglichen es den Anker durch JavaScript dynamisch zu aktualisieren Dies ermoglicht es einer Ajax Anwendung den Inhalt der dargestellten Webseite parallel zur Verarbeitung zu aktualisieren Diese Losungsansatze beheben auch einige der Probleme die durch den nicht funktionierenden Zuruck Knopf entstehen Ruckmeldung Bearbeiten nbsp Das MVC Entwurfsmuster angewandt auf den gesamten Inhalt eines BrowserfenstersDie Latenzzeit also das zeitliche Intervall zwischen einer HTTP Anfrage des Browsers und der zugehorigen Server Antwort muss bei der Entwicklung einer Ajax Anwendung berucksichtigt werden Ohne eine klar ersichtliche Ruckmeldung fur den Benutzer 9 vorausschauendes Laden einzelner Anwendungsdaten 10 und einen korrekten Umgang mit dem XMLHttpRequest Objekt 11 kann sich einem Benutzer der Eindruck aufdrangen dass die gesamte Anwendung nur zahflussig auf dessen Aktionen reagiert Fur gewohnlich ist dies ein Umstand der sich dem Benutzer nur schwer erschliesst 12 Aus diesem Grund ist es wichtig sogenannte visuelle Feedbacks wie beispielsweise das Symbol einer Sanduhr zu verwenden um den Benutzer darauf aufmerksam zu machen dass momentan gewisse Hintergrundaktivitaten stattfinden oder Daten etwa Inhalte geladen werden Differenzierung zwischen Konzept und Begriff Bearbeiten Abgesehen von den technischen Schwierigkeiten die mit Ajax einhergehen gab es in der Vergangenheit immer wieder Kritik daran dass das Unternehmen Adaptive Path welches den Begriff Ajax ursprunglich gepragt hat oder andere Unternehmen den Begriff als Marketing Vehikel benutzen In diesem Zusammenhang wird vor allem deshalb Kritik geubt da die Grundlagen von Ajax vor der Pragung des Begriffs entwickelt wurden Allerdings hat die Pragung des Begriffs auch dazu beigetragen die Diskussion rund um den Browser als Fat Client neu zu beleben Unterstutzung des MVC Architekturmusters Bearbeiten nbsp Das MVC Entwurfsmuster angewandt auf einzelne Elemente einer HTML SeiteZwar unterstutzt eine Ajax basierte Umgebung nicht per se das MVC Architekturmuster jedoch kann dieses sehr einfach umgesetzt werden Eine Umsetzung kann das gesamte Browser Fenster als Grundlage fur die Prasentationsschicht haben Auch ermoglicht es Ajax ein zyklisches bzw geschachteltes MVC Modell umzusetzen In diesem Fall besitzen einzelne Prasentationsschicht Elemente einer Webseite sowohl einen separaten Controller als auch ein separates Modell Beide Zusammenhange sind in den Abbildungen dieses Artikels dargestellt Barrierefreies Internet Bearbeiten Hauptartikel Barrierefreies Internet Soll die Ajax Technologie eingesetzt werden so stellt dies eine Herausforderung dar wenn die Webanwendung den WAI Regeln folgen soll Software Entwickler mussen aus diesem Grund Alternativen anbieten wenn eine Webseite beispielsweise auch fur sehbehinderte Nutzer mit einem Screenreader zuganglich sein soll Dies ist notwendig da die Mehrzahl aller Ajax Anwendungen fur herkommliche grafische Webbrowser entworfen wurden Momentan kommt hierfur oft der sogenannte Hook Ansatz ins Gesprach wobei zunachst eine rein statische Anwendung an den Browser geschickt wird und dann bei aktiviertem Javascript alle AJAX Funktionalitaten eingebettet werden Suchmaschinen Deep Links Bearbeiten Siehe auch Surface Links und Deep Links Es gibt verschiedene Moglichkeiten eine Ajax Anwendung einer Suchmaschine zuganglich zu machen Die einzelnen Ansatze variieren im Grad der Indizierung der erreicht werden kann und der Art wie dies erreicht wird Fur einige Webseiten wie beispielsweise die eines Studiengangs einer Universitat ist es notwendig dass jeder einzelne Bereich durch eine Suchmaschine erfasst werden kann Eine Seite jedoch die einen Webmail Service zur Verfugung stellt wird dies nicht erforderlich machen Nachfolgend sind einige Strategien genannt die es ermoglichen einen Webauftritt durch eine Suchmaschine indizieren zu lassen Lightweight Indexing An der eigentlichen Webseite werden keine strukturellen Anderungen vorgenommen Es werden jedoch bereits existierende Elemente wie beispielsweise Meta Tags oder Uberschriften Elemente fur die Indizierung verwendet Extra Link Strategy Zusatzliche Links werden auf der Webseite platziert denen Suchroboter folgen konnen um so den gesamten Webauftritt indizieren zu konnen Die zusatzlichen Links sollten allerdings sichtbar sein auch wenn sie nur fur den Suchroboter einer Suchmaschine gedacht sind Unsichtbare Links sind ein Spezialgebiet moderner Suchmaschinen und sie werden als Tauschungsmanover angesehen Secondary Site Strategy Eine zweite Webseite wird entworfen Diese ist fur eine Suchmaschine voll zuganglich und bildet entweder die Funktionen der Ajax Seite nach oder verweist vom entsprechenden Suchwort auf deren Funktionen An dieser Stelle sei darauf hingewiesen dass das Anwenden der Extra Link Strategy und der Secondary Site Strategy von Suchmaschinen moglicherweise als Tauschungsversuch gewertet werden konnte Cloaking Die beste Moglichkeit das zu vermeiden besteht darin in der Originalseite ein lt meta name robots content noindex gt einzubauen Seit Mai 2014 kann Google Ajax Webseiten ohne weitere Hilfsmittel indexieren 13 Obengenannte Strategien sind fur eine Indexierung durch Google nicht mehr in vollem Umfang notig Experimente von Bartosz Goralewicz deuten allerdings darauf hin dass Webseiten die JavaScript intensiv nutzen mehr Ressourcen von Suchmaschinen Bots Crawler Budget erfordern Im Vergleich zu reinen HTML Anwendungen werden bei JS basierten Websites von Suchmaschinen Bots insgesamt weniger Seiten gecrawlt 14 Status Verbreitung BearbeitenFolgende Webbrowser sind derzeit in der Lage Ajax Anwendungen auszufuhren Genannt wird immer nur die erste Software Version die es ermoglichte Ajax Anwendungen auszufuhren Alle Folgeversionen implizieren dieselbe Unterstutzung Name Erste Version mit Ajax Unterstutzung Native Unterstutzung Unterstutzung durch ein Add on KommentarMicrosoft Internet Explorer 5 0 7 0 ja ActiveX Komponente Die Version 4 0 unterstutzte erstmals XML jedoch nicht die fur Ajax notwendige XMLHttpRequest API Diese API wurde spater als ActiveX Komponente realisiert und ist ab Version 7 0 nativer Bestandteil des IEs Browser die auf der Internet Explorer Technologie aufbauen sind ebenfalls Ajax kompatibel Mozilla Firefox 1 0 ja Auch alle anderen auf Gecko basierenden Browser Opera 8 0 ja Apple Safari 1 2 ja Apples Browser Safari basiert auf WebKit einem KHTML Fork Shiira 0 9 1 1 ja Shiira basiert auf WebKit Google Chrome 0 2 ja Google Chrome basiert bis Version 27 auf Apples WebKit ab Version 28 kommt die WebKit Abspaltung Blink zum Einsatz Netscape 7 1 ja Konqueror 3 2 ja Das HTML Rendering wird durch KHTML realisiert iCab 3 0 Beta ja Altere Versionen wie beispielsweise die Version fur m68k basierte Computer unterstutzen kein Ajax Anwendungsbeispiele BearbeitenDie nachfolgenden Weblinks referenzieren typische Vertreter einer Anwendung auf Ajax Basis Einige haben durch ihre neuartige intuitiv zu bedienende Benutzeroberflache einen gewissen Bekanntheitsgrad erlangt Die Linkliste selbst kann in diesem Zusammenhang ob der aktuellen Vielfalt an Ajax Anwendungen nur eine beispielhafte Auswahl darstellen und ist bewusst sehr kurz gehalten Virtuelle Globen Virtuelle Landkarten Google Maps interaktive Weltkarte OpenStreetMap interaktive freie Weltkarte geografisches Wiki Webbasierte Buroanwendungen AjaxWrite Textverarbeitung iRows Tabellenkalkulation Anwendungen welche Wikipedia nutzen Gollum Wikipedia Browser Soziale Software Flickr Webanwendung zur Verwaltung von Fotos Delicious Web basiertes kommunales Bookmark System schlagt Tags und Begriffe vor Last fm Internetradio alle VZ Netzwerke Soziale Netzwerke Facebook Vermischtes eyeOS Web Desktop Gmail bietet eine Art E Mail Programm fur den Webbrowser an Google Suggest zeigt Vorschlage an die der Benutzer suchen konnte Meebo Web basierter Instant Messenger unterstutzt AOL ICQ Yahoo Messenger MSN Messenger Jabber und Google Talk Konten ET Chat Webchatsystem Customer Relationship Management CRM 24SevenOfficeQuellen Bearbeiten Ajax Patterns On Demand Javascript Ajaxpatterns org archiviert vom Original am 22 April 2011 abgerufen am 11 September 2010 Jesse James Garret Ajax A New Approach to Web Applications Memento vom 2 Juli 2008 im Internet Archive Remote Scripting Msdn microsoft com abgerufen am 11 September 2010 Microsoft XML versions that are included with Microsoft Internet Explorer Knowledge Base Q269238 Version list for the Microsoft XML parser Zimbra com Stellungnahme des Unternehmens Zimbra Inc bezuglich der Open Ajax Initiative Zimbra com abgerufen am 11 September 2010 Browserunabhangige Ajax Engine auf der Basis der Web Services Technologie Mathertel de 24 Februar 2007 abgerufen am 11 September 2010 Jakob Nielsen Top 10 New Mistakes of Web Design 1999 Hash URIs w3 org 12 Mai 2011 abgerufen am 1 Marz 2017 Remote Scripting with AJAX Part 2 Xml com abgerufen am 11 September 2010 Jonathan Boutelle Latency Must Die Reducing Latency by Preloading Data Memento vom 29 September 2007 im Internet Archive 26 August 2004 Ajax Blog HTML Javascript and XML coding techniques for Web 2 0 Memento vom 23 Oktober 2005 im Internet Archive Async Requests over an Unreliable Network Marcus Baker Listen kids AJAX is not cool Memento vom 12 Dezember 2005 im Internet Archive Archivversion 3 Juni 2005 abgerufen am 7 Marz 2014 Erik Hendriks Michael Xu Kazushi Nagayama Understanding web pages better 23 Mai 2014 Advanced Technical SEO Searchmetrics Summit 2017 searchmetrics youtube com 29 November 2017 abgerufen am 19 Dezember 2017 englisch Literatur BearbeitenJesse James Garrett Ajax A New Approach to Web Applications Adaptive Path LLC 18 Februar 2005 Der Aufsatz der den Namen gepragt hat Memento vom 2 Juli 2008 im Internet Archive englisch Christian Wenz AJAX schnell kompakt entwickler press 2006 ISBN 3 935042 92 2 Olaf Bergmann Carsten Bormann AJAX Frische Ansatze fur das Web Design 1 Auflage SPC TEIA Lehrbuch Verlag 2005 ISBN 3 935539 26 6 HTML Variante des Buchs Johannes Gamperl Ajax Galileo Computing 2006 ISBN 3 89842 764 1 Denny Carl Praxiswissen Ajax O Reilly 2006 ISBN 3 89721 451 2 Hannes Pfeiffer Ajax Modernes Webscripting Data Becker 2006 ISBN 3 8158 2801 5 Dave Crane Eric Pascarello Darren James Ajax in Action Das Entwicklerbuch fur das Web 2 0 Addison Wesley 2006 ISBN 3 8273 2414 9 einzelne Kapitel als Online Version in englischer Sprache Kai Jager Ajax in der Praxis Springer 2007 ISBN 978 3 540 69333 8 Ryan Asleson Nathaniel T Schutta Foundations of Ajax Apress 2005 ISBN 1 59059 582 3 Nicholas C Zakas Professional Ajax 2 Auflage Wrox 2007 ISBN 0 470 10949 1 Weblinks Bearbeiten nbsp Wikibooks Websiteentwicklung AJAX Lern und Lehrmaterialien Artikel im Mozilla developer Center zu Ajax Ajax Tutorial Asynchronous Javascript XML Creating client side dynamic Web pages englisch nbsp Dieser Artikel wurde am 10 Mai 2006 in dieser Version in die Liste der lesenswerten Artikel aufgenommen Normdaten Sachbegriff GND 7515401 8 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Ajax Programmierung amp oldid 231134830