AJAX


Was ist AJAX und wie funktioniert es?

AJAX ermöglicht es, Webseiten asynchron zu aktualisieren, indem im Hintergrund Daten mit einem Webserver ausgetauscht werden. Dies bedeutet, dass es möglich ist, Teile einer Webseite zu aktualisieren, ohne die ganze Seite neu zu laden. AJAX ist eine Akkürzung für Asynchronous JavaScript And XML.

Im Laufe der Jahre hat die Webentwicklung größere Höhen erreicht. Wie Sie sehen können, gibt es jetzt viele Web-Entwicklungssprachen und Techniken, die interessante Funktionen für Websites bieten. Eine dieser Techniken ist zweifelsohne AJAX.

AJAX, was für Asynchronous JavaScript and XML steht, ist eine Technologie, die asynchrone HTTP-Anfragen an den Server ermöglicht. Mit dieser Technologie können wir mehrere Anfragen im Hintergrund laden, ohne die Anzeige oder das Verhalten der Seite zu beeinflussen. Lesen Sie weiter, denn wir werden die Vorteile, Nachteile und andere wesentliche Aspekte dieser Technologie kennenlernen.

Was genau ist AJAX?

Zunächst einmal ist AJAX kein Werkzeug oder eine Programmiersprache, sondern ein Konzept. Es handelt sich um eine Reihe von Web-Entwicklungstechniken, die es Webanwendungen ermöglichen, asynchron zu arbeiten und jede Anfrage an den Server im Hintergrund zu verarbeiten.

Diese Anwendungen laufen auf dem Client, d. h. im Browser des Benutzers, während sie im Hintergrund eine asynchrone Kommunikation mit dem Server aufrechterhalten. Auf diese Weise ist es möglich, Änderungen oder Aktualisierungen an bestimmten Abschnitten des Inhalts einer Webseite vorzunehmen, ohne diese komplett neu laden zu müssen, was eine Steigerung der Geschwindigkeit, Interaktivität und Funktionalität der Anwendungen bedeutet.

Das heißt, es ermöglicht uns, den Inhalt einer Webseite weiterhin zu betrachten, auch wenn wir eine bestimmte Anfrage senden. Mit AJAX wird das, worauf wir zugreifen oder was wir betrachten, nicht unterbrochen, weil das Fenster nicht neu geladen wird, so dass die Zeit, in der unsere Anfrage an die Server geht und zurückkommt, nicht in direkter Zeit ist (die Interaktivität ist nicht augenblicklich). Und, wenn die Anfrage fertig ist, wird uns die Antwort auf unsere Anfrage angezeigt.

Ein Beispiel wäre das Versenden einer E-Mail, wo wir sehen können, dass die Seite beim Öffnen, Schließen oder Senden einer E-Mail nicht neu geladen wird. Wenn Sie sich jedoch anmelden, wird die Seite neu geladen.

Es ist wichtig zu verstehen, dass AJAX keine einzelne Technologie ist, sondern eine Vielzahl verschiedener Technologien umfasst, die Entwicklern die Möglichkeit bieten, interaktive Webanwendungen zu erstellen, die als Client/Server-Tools funktionieren. Ajax ist eine Kombination aus den folgenden Programmiersprachen und Elementen:

  • XHTML (oder HTML) und Cascading Style Sheets (CSS) für das Layout oder die Seitengestaltung, die die Informationen begleiten.

  • Document Object Model (DOM), auf das der Benutzer mit einer Skriptsprache zugreift, insbesondere ECMAScript-Implementierungen wie JavaScript und JScript, um die dargestellten Informationen dynamisch anzuzeigen und mit ihnen zu interagieren.

  • Das XMLHttpRequest-Objekt zum asynchronen Austausch von Daten mit dem Webserver. In einigen Frameworks und in bestimmten Situationen wird anstelle des XMLHttpRequest-Objekts ein iframe-Objekt verwendet, um einen solchen Austausch durchzuführen. XML ist das allgemein verwendete Format für die Übertragung von angeforderten Daten vom Server, obwohl auch jedes andere Format gut funktionieren kann, einschließlich vorformatiertes HTML, einfacher Text (.txt), JSON und sogar EBML.

  • PHP ist eine universelle, serverseitige Skriptprogrammiersprache, die ursprünglich für die Webentwicklung mit dynamischen Inhalten entwickelt wurde und auch bei der Ajax-Methode verwendet wird.

Ajax ist eine asynchrone Technologie, in dem Sinne, dass zusätzliche Daten vom Server angefordert und im Hintergrund geladen werden, ohne die Anzeige oder das Verhalten der Seite zu beeinträchtigen. JavaScript ist die interpretierte Sprache (Skriptsprache), in der Ajax-Aufruffunktionen normalerweise ausgeführt werden, während der Datenzugriff über XMLHttpRequest erfolgt, ein Objekt, das in aktuellen Browsern verfügbar ist. In beiden Fällen muss der asynchrone Inhalt nicht in XML formatiert werden.

Wie AJAX funktioniert

Die Funktionsweise von AJAX-Anwendungen ist recht einfach: Die Programmieraufgaben werden direkt im Webbrowser, also auf der Seite des Clients, ausgeführt. Während der Ausführung unterhält die Anwendung eine Hintergrundkommunikation mit dem Server (asynchrone Kommunikation), so dass Änderungen an der Anwendung vorgenommen werden können, ohne dass die Webanwendung neu geladen werden muss.

Wenn Sie nur PHP oder andere Serversprachen verwenden, führt der Server bei einer Anfrage eine Reihe von Aufgaben aus und sendet dann die Daten an uns zurück. Während dieser Prozess ausgeführt wird, bleibt die Seite in der Warteschleife, d. h. sie wird angehalten. Dies mag keine Rolle spielen, wenn nur wenige Daten verarbeitet werden und der Server die Möglichkeit hat, schnell zu reagieren. Werden jedoch viele Daten verarbeitet oder gibt es viele Anfragen zur gleichen Zeit (stark besuchte Seiten), kann die Antwortzeit länger sein. Während des Wartens auf die Antwort bleibt die Seite stehen.

Mit Ajax können Webanwendungen Daten von einem Server senden und diese asynchron (während des Ladens im Hintergrund) abrufen, ohne die Anzeige und das Verhalten der bestehenden Seite zu beeinträchtigen. Dadurch kann der Benutzer weiterhin andere Dinge tun oder die Seite kann andere Dinge anzeigen, während die Antwort erzeugt wird.

Ajax ist besonders nützlich auf Seiten, die große Datenmengen verarbeiten oder von einer großen Anzahl von Benutzern verwendet werden. Einige Beispiele für Seiten, die Ajax zur Verbesserung der Benutzerfreundlichkeit verwenden, sind Gmail, Google Maps, Facebook und Twitter. Im Beispiel von Gmail oder anderen Webmail-Programmen wie Outlook ermöglichen sie es dem Benutzer, die E-Mail-Anwendung schnell zu nutzen, indem er Nachrichten verfassen und senden oder die Liste der Nachrichten aktualisieren kann, ohne das gesamte Web neu laden zu müssen, wodurch der Eindruck entsteht, dass eine Webanwendung ähnlich wie eine Desktop-Anwendung funktioniert.

Durch die Entkopplung der Datenaustauschschicht von der Präsentationsschicht ermöglicht Ajax Webseiten und damit auch Webanwendungen, Inhalte dynamisch zu ändern, ohne dass die gesamte Seite neu geladen werden muss. Die Daten können über das "XMLHttpRequest"-Objekt abgerufen werden. Trotz des Namens ist die Verwendung von XML nicht erforderlich, sondern kann ein beliebiges Format sein (in der AJAJ-Variante wird häufig JSON verwendet), und die Anfragen müssen nicht asynchron sein.

Wie bereits erwähnt, besteht Ajax aus einer Gruppe von Technologien, die zusammenarbeiten, um Seiten dynamisch zu machen. HTML und CSS können in Kombination damit verwendet werden. JavaScript dient zusammen mit dem "XMLHttpRequest"-Objekt als Plattform für den asynchronen Austausch von Daten zwischen dem Browser und dem Server, um das vollständige Laden der Seite zu vermeiden. Ein weiteres Merkmal von AJAX ist die Verwendung des Konzepts des DOM, das bei neuen Trends in der Webprogrammierung weit verbreitet ist.

Vorteile von Ajax

Der Vorteil von Ajax gegenüber anderen Web-Programmiersprachen ist die Asynchronität. Wenn wir mit AJAX Daten mit dem Server austauschen wollen (z. B. ein Formular senden oder prüfen, eine Datenbank konsultieren usw.), bleibt die Seite nicht stehen und wartet auf die Antwort, sondern es können in der Zwischenzeit weiterhin Aktionen ausgeführt werden.

Ajax macht interaktive Seiten möglich. In diesen fordern wir Daten vom Server an, die wir auf anderen Seiten oder in Datenbanken gespeichert haben können. Der Server liefert die Daten zurück, die dann auf der gleichen Seite und im Hintergrund geladen werden. Das "im Hintergrund" bedeutet, dass, während wir auf den Empfang der Daten warten, die Seite nicht anhält und der Benutzer oder die Programmierung der Seite weiterhin andere Dinge tun kann.

Die Vorteile, die Ajax bietet, sind unter anderem die folgenden

Es ist nicht notwendig, die gesamte Webseite neu zu laden und neu zu zeichnen, daher geht alles schneller.

Der Benutzer merkt nicht, dass es Verzögerungen gibt: Er arbeitet und da die Kommunikation im Hintergrund abläuft, gibt es keine Unterbrechungen.

Das primäre Ziel von Ajax ist es, die Geschwindigkeit, Leistung und Benutzerfreundlichkeit einer Webanwendung zu verbessern. Denn ein Seitenrücksprung wird entfernt. Ajax-fähige Anwendungen sind tendenziell reaktionsschneller, schneller und einfacher zu bedienen.

Die Schritte, die vorher für das Laden mehrerer Webseiten notwendig waren, können dank Ajax und der vom Server erhaltenen Informationen auf eine einzige Seite verdichtet werden, die sich ändert.

Nachteile von Ajax

Wie die meisten Dinge im Leben, hat auch Ajax seine Nachteile:

  • Ein Benutzer, dessen Browser JavaScript oder XMLHttpRequest nicht unterstützt oder diese Funktionen deaktiviert hat, kann die Seiten, die auf Ajax beruhen, nicht richtig nutzen. Einfache Geräte (wie z. B. Smartphones und PDAs) werden möglicherweise nicht unterstützt. Dies kann dazu führen, dass man nicht ausschließlich auf Ajax angewiesen ist.

  • Der Benutzer kann die Möglichkeit verlieren, Dinge zu tun, die bei traditionellen Websites üblich sind. Zum Beispiel ist es möglicherweise nicht mehr möglich, die Vor- und Zurück-Schaltflächen des Browsers zu verwenden oder eine Seite zu den Favoriten hinzuzufügen. Dies ist in manchen Fällen unerwünscht.

  • Bildschirmlesegeräte, die Ajax verwenden können, sind möglicherweise noch nicht in der Lage, dynamisch generierte Inhalte korrekt zu lesen.

  • Die "same-origin policy" verhindert, dass einige der Ajax-Techniken domänenübergreifend verwendet werden können, obwohl das W3C einen Entwurf des "XMLHttpRequest"-Objekts hat, der diese Funktionalität ermöglicht.

  • Der erforderliche asynchrone Callback-Programmierstil kann zu komplexem Code führen, der schwierig zu warten, zu debuggen und zu testen ist.

  • Mit Ajax programmierte Webseiten stellen eine größere Schwierigkeit bei der Durchführung einer detaillierten Webanalyse ihrer Interaktionen dar.

  • Abhängig von der Serverlast kann es zu verspäteten Antwortzeiten für die Benutzer kommen.

  • Da Javascript erforderlich ist, müssen Sie immer alternative Pfade erstellen.

  • In Bezug auf SEO wird die Indizierung für Suchmaschinen erschwert, wodurch unsere Websites in Suchmaschinen an Sichtbarkeit verlieren können. Ein "konstanter" oder annähernd statischer Inhalt, der für eine Suchmaschine leicht auffindbar ist, ist nicht dasselbe wie ein Inhalt, der sich je nach Ausführung von JavaScript "verändert" und für eine Suchmaschine kaum auffindbar ist.

Fazit

Ajax ist eine plattformübergreifende Technik und in vielen Betriebssystemen und Browsern einsetzbar, da sie auf offenen Standards wie JavaScript und Document Object Model (DOM) basiert. Wie bei allem, muss man die Dinge in ihrem richtigen Maß einsetzen. Wenn es mit der richtigen Strategie eingesetzt wird, kann Ajax sehr nützlich für eine Webseite sein. Allerdings kann Ajax, wenn es nicht richtig implementiert wird, eine Katastrophe für eine Webseite sein.

Letzte Aktualisierung: 17.09.2021

Quellenangaben