Was ist AJAX? – Definition im Bereich IT
AJAX ist die Abkürzung für "Asynchronous JavaScript and XML". Mit dieser Technologie können Web-Entwickler erwirken, dass sich Webseiten dynamisch aktualisieren, indem:
- sich Datenpakete von einem Webserver laden lassen, nachdem die Seite geladen wurde,
- sich Daten im Hintergrund an den Webserver senden lassen.
- Teile der Seite aktualisiert werden können, ohne die gesamte Seite neu laden zu müssen.
Wie funktioniert AJAX?
AJAX verwendet in der Regel als HTTP-Anfrage ein XMLHttpRequest-Objekt (oft abgekürzt als XHR) oder eine fetch-API, um Daten asynchron zwischen dem Browser und dem Server zu senden und zu empfangen, sowie JavaScript und HTML DOM, um die Daten auf einer HTML-Seite anzuzeigen oder zu weiterzuverarbeiten.
Indem AJAX-Anwendungen nur die notwendigen Daten laden und die Benutzer-Oberfläche entsprechend aktualisieren, führen sie keine unnötigen Aktualisierungen durch. In der Folge können sie schneller auf Benutzer-Interaktionen reagieren als konventionelle Webanwendungen.
Hinweise zur Definition und Begriffsprägung
Die oben genannten Grundprinzipien kamen bereits in den späten 1990er-Jahren auf, bevor in den frühen 2000er-Jahren Jesse James Garrett (Mitarbeiter der Agentur Adaptive Path) in einem Aufsatz den Begriff Asynchronous JavaScript and XML und somit AJAX einführte. Die durch Garrett geprägte Bezeichnung des Konzepts kann allerdings irreführend sein. Denn die Technik, die hinter Ajax steckt, erlaubt in der Praxis sowohl asynchrone als auch synschrone XMLHttpRequests.
In der asynchronen Variante wird eine Anfrage an den Server gesendet. Während auf die Antwort gewartet wird, kann das entsprechende JavaScript weiterhin ausgeführt werden. Es findet also eine parallele Abarbeitung statt.
Im Gegensatz dazu wird bei der synchronen Variante ebenfalls zunächst eine Anfrage an den Server geschickt. Die Ausführung des betreffenden JavaScripts wird jedoch solange angehalten, bis die Antwort eintrifft.
Asynchronous JavaScript via XML und via JSON
Obwohl der Name AJAX "Asynchronous JavaScript and XML" als Teil des Begriffs XML beinhaltet, ist es heutzutage ebenso üblich, dass AJAX-Anfragen im JSON-Format (JavaScript Object Notation) anstelle von XML durchgeführt werden. Heute wird AJAX häufig mit JSON kombiniert, und Technologien wie WebSockets ergänzen das Konzept für Echtzeit-Kommunikation.
Bedeutung von AJAX in der Web-Programmierung
AJAX hat die Entwicklung von interaktiven und reaktionsfähigen Webanwendungen (siehe Rich Internet Applications) wesentlich vorangetrieben, da sie eine nahtlosere Benutzer-Erfahrung ermöglicht, ähnlich wie bei Desktop-Anwendungen. Zudem integriert sich AJAX nahtlos in moderne JavaScript-Frameworks wie React, Angular und Vue.js, was die Entwicklung von interaktiven Single-Page Applications (SPAs) unterstützt.
Beispiele für die Nutzung von AJAX in modernen Webanwendungen
- Suchmaschinen (schnelle Suchergebnisse)
- E-Mail-Dienste (schnelles Laden von Nachrichten)
- Social-Media-Plattformen (fortlaufendes Laden von Inhalten)
- Interaktive Karten (asynchrones Laden, während der User navigiert)
- Aktien- & Wechselkurse auf Finanzwebsites (fortlaufendes Laden von Inhalten)
Die wichtigsten Vorteile von AJAX in der Webentwicklung
- Flüssigere und responsivere Benutzer-Erfahrung
- Verbesserung der Ladezeit: vorteilhaft für Anwendungen mit umfangreichen Datensätzen oder solche, die häufige Updates erfordern
- Reduktion des Gesamtdatenverkehrs zwischen dem Client und dem Server
- Integration mit modernen JavaScript-Frameworks wie React, Angular und Vue.js, die bei der Erstellung von Single-Page Applications (SPAs) eine zentralen Faktor bilden. Unsere Entwickler bei fecher setzen als Framework insbesondere auf WISEJ.net.
- Erleichterung der progressiven Webanwendungen (PWAs), die eine offline-fähige, app-ähnliche Erfahrung in Webbrowsern bieten
Von Entwicklern zu berücksichtigende Nachteile
- Hindernisse für die Suchmaschinenoptimierung (SEO)
- Kompatibilitäts-Probleme mit älteren Browsern oder bei Benutzern mit deaktiviertem JavaScript
- Herausforderungen bei der Gewährleistung der Barrierefreiheit
- Netzwerkbelastung durch ineffiziente AJAX-Anfragen
- Sicherheitsrisiken durch Cross-Site Scripting (XSS) und Cross-Site Request Forgery (CSRF)
- Schwierigkeiten beim Debugging und Testen
Welche Stellung nimmt AJAX in der Anwendungsmodernisierung ein?
AJAX spielt eine unverkennbare Rolle im Feld der Softwaremodernisierung, insbesondere bei der Transformation veralteter, statischer Software in dynamische und zukunftsfähige web-basierte Anwendungen. Es ermöglicht eine effiziente, asynchrone Kommunikation zwischen Client und Server, verbessert so die Benutzererfahrung durch schnelle und nahtlose Interaktionen und erfüllt moderne Anforderungen an Benutzerfreundlichkeit. Durch die Einbindung in aktuelle JavaScript-Frameworks vereinfacht AJAX die Entwicklung komplexer und innovativer Webanwendungen, die Desktop-Software in Sachen Funktionalität und Benutzererlebnis herausfordern. AJAX ist damit ein Schlüsselelement in der digitalen Transformation, das die Entwicklung fortschrittlicher Webanwendungen vorantreibt.
Sie interessieren sich für Anwendungsentwicklung und Anwendungsmodernisierung? Neben diesem Beitrag zum Thema “Was ist AJAX?” finden Sie weitere Erläuterungen und Begriffsklärungen in unserem IT-Glossar!