Ajax ist kein Programmiersprache oder Tool, sondern ein Konzept. Ajax handelt es sich um ein clientseitiges Skript, das mit einem Server oder einer Datenbank kommuniziert, ohne dass ein Postback oder eine vollständige Seitenaktualisierung erforderlich ist. Die beste Definition, die ich gelesen habe, lautet: „Die Methode zum Austausch von Daten mit einem Server und zur Aktualisierung von Teilen einer Webseite – ohne das gesamte Seite neu zu laden.“ Ajax ist größtenteils ein Sammelbegriff für verschiedene JavaScript-Techniken, die eine dynamische Verbindung zu einem Webserver herstellen, ohne mehrere Seiten laden zu müssen. Enger gefasst bezieht es sich auf die Nutzung von XMLHttpRequest-Objekten, um über JavaScript dynamisch mit einem Webserver zu interagieren.
Vorteile von Ajax
Es gibt vier Hauptvorteile der Verwendung von Ajax in Web-Anwendungen:
Callbacks: Ajax wird verwendet, um einen Callback durchzuführen, der einen schnellen Hin- und Rückweg zum Server ermöglicht, um Daten abzurufen oder zu speichern, ohne die gesamte Seite zurückzuposten. Dadurch wird die Netzwerkauslastung minimiert und die Operationen werden schneller. Auf Seiten mit begrenzter Bandbreite verbessert dies die Netzwerkleistung erheblich. Meistens sind die übertragenen Daten minimal. Durch Callbacks muss der Server nicht alle Formularelemente verarbeiten. Es werden nur die notwendigen Daten gesendet, was die Serververarbeitung einschränkt. Es ist keine Verarbeitung aller Formularelemente, des ViewState, das Zurücksenden von Bildern oder einer vollständigen Seite an den Client erforderlich.
Asynchrone Aufrufe: Ajax ermöglicht asynchrone Aufrufe an einen Webserver. Dadurch muss der Client-Browser nicht auf alle Daten warten, bevor der Benutzer wieder handeln kann.
Benutzerfreundlich: Da Postbacks eliminiert werden, sind Ajax-fähige Anwendungen immer reaktionsschneller, schneller und benutzerfreundlicher.
Erhöhte Geschwindigkeit: Der Hauptzweck von Ajax ist die Verbesserung von Geschwindigkeit, Leistung und Nutzbarkeit einer Web-Anwendung. Ein großartiges Beispiel ist die Film-Bewertungsfunktion bei Netflix. Der Benutzer bewertet einen Film, und diese persönliche Bewertung wird in der Datenbank gespeichert, ohne dass die Seite neu geladen werden muss. Diese Bewertungen werden ohne vollständigen Postback an den Server gespeichert.
Technische Aspekte von Ajax
Ajax-Callbacks können durch Instanziierung eines XMLHttpRequest-Objekts in clientseitigem JavaScript durchgeführt werden. Das XMLHttpRequest-Objekt kann direkt serverseitige Objekte wie Seiten und Webdienste aufrufen. Diese Seiten und Dienste speichern oder geben Daten zurück.
segue-blog-what-is-ajax-and-where-is-it-used-in-technology
Ajax war ursprünglich ein Akronym für Asynchronous JavaScript and XML. „Asynchron“ bedeutet, dass mehrere Ereignisse unabhängig voneinander ablaufen. Sobald ein Client einen Ajax-Callback zum Server initiiert, muss er nicht auf die Antwort warten und kann die Web-Anwendung weiter nutzen, während die Anfrage bearbeitet wird. Sobald der Server fertig ist, sendet er eine Antwort zurück, die der Client entsprechend verarbeitet.
Welche Fortschritte wurden bei Ajax erzielt?
JavaScript ist die clientseitige Programmiersprache, XML eine Auszeichnungssprache für Daten. JSON (JavaScript Object Notation) ist eine weitere Auszeichnungssprache für Daten, die mit JavaScript viel einfacher zu handhaben ist als XML. Bei Ajax und JavaScript ersetzen JSON-Webdienste zunehmend XML-Webdienste.
Ein weiterer großer Fortschritt bei JavaScript und Ajax ist die JavaScript-Objektbibliothek jQuery. Diese kostenlose Open-Source-Software ist ein Wrapper um JavaScript. jQuery erleichtert das Schreiben clientseitigen JavaScripts zur Navigation und Manipulation einer Seite sowie asynchroner Ajax-Callbacks.
Durch die Nutzung von jQuery und JSON-Webdiensten sind Ajax-Callbacks zu einem Standard in der Web-Anwendungsentwicklung geworden.
Das Ajax Control Toolkit ist eine Sammlung von Steuerelementen von Microsoft, die in Visual Studio integriert ist und per Drag-and-Drop auf Webformulare gezogen werden kann, ähnlich wie HTML- oder Serversteuerelemente. Diese Controls dienen Ajax-Callbacks, können aber auch als normale Client- oder Server-Controls verwendet werden. Asp.Net hat z. B. keine Tab-Steuerelemente, das Ajax Control Toolkit schon. Der Tab-Control kann wie Server-Controls postbacken.
Wo sollte Ajax eingesetzt werden?
Ajax sollte überall in einer Web-Anwendung verwendet werden, wo kleine Datenmengen vom Server gespeichert oder abgerufen werden können, ohne die gesamte Seite zu postbacken. Ein gutes Beispiel ist die Datenvalidierung bei Speicheraktionen. Ein weiteres: Die Werte in einer Dropdown-Listbox basierend auf anderen Eingaben ändern, z. B. Staaten und Hochschullisten. Bei Auswahl eines Staates wird die Hochschulliste nur mit Einrichtungen aus diesem Staat neu befüllt.
Ein weiteres Beispiel: Speichern oder Abrufen von Session-Werten basierend auf Benutzereinstellungen wie Höhe, Breite oder Position eines Objekts. Eine Breitenanpassung kann einen Callback zum Server auslösen, um die Session-Variable zu setzen. Beim nächsten Seitenrefresh passt der Server die Breite entsprechend an – sonst würde sie auf den Standard zurückfallen.
Weitere Features umfassen Text-Hinweise und Autocomplete-Textfelder. Der Benutzer tippt ein paar Buchstaben, und eine Liste passender Werte erscheint darunter. Ein Callback an einen Webdienst ruft alle Werte ab, die mit diesen Zeichen beginnen. Diese Funktion wäre ohne Ajax unmöglich und ist Teil des Ajax Control Toolkits.
Segue Technologies hat kürzlich Ajax für eine Client-Anwendung mit Bandbreiten- und Seitengrößenproblemen eingesetzt. Die Kombination führte zu langen Ladezeiten und Timeouts. Die Lösung: JSON-Webdienste auf dem Server, die Details zu ausgewählten Items abrufen und in JSON umwandeln.
Statt Postback ruft der Client bei Auswahl eines Items den Webdienst via jQuery asynchron auf. Nach Erhalt der Daten erfolgt clientseitige Verarbeitung zur Anzeige. Die Darstellung war instantan – ohne Flackern, Refresh oder Postback. Ajax optimiert so Web-Anwendungen nachhaltig für bessere Performance und Nutzererfahrung. Entdecken Sie, wie Ajax Ihre Projekte revolutionieren kann, und integrieren Sie es in Ihre nächsten Entwicklungen!
