AJAX – Vor- und Nachteile einer Modeerscheinung

Zusammenfassung: AJAX ist der neue Stern am Webentwickler-Himmel. Jeder redet nur noch von AJAX, und jeder will es einsetzen. Doch macht AJAX wirklich für jeden Sinn? Hat es nicht auch Nachteile? Was gilt es beim Einsatz von AJAX zu beachten? Diese Fragen möchte dieser kurze Artikel klären. Zusammenfassend läßt sich feststellen:

  • AJAX ist ohne Zweifel ein mächtiges Werkzeug, wenn es darum geht, Elemente auf Webseiten dynamisch zu aktualisieren, ohne die Seite komplett neu laden zu müssen.
  • AJAX ist jedoch keine völlig neue Technologie, sondern beruht im Wesentlichen auf schon lange vorhandenen client- und serverseitigen Technologien. Insbesondere JavaScript (DOM), XHTML, CSS, XML und PHP (oder eine andere serverseitige Scriptsprache) sind hier zu nennen.
  • AJAX wird als Modeerscheinung völlig überschätzt. Es ist kein Allheilmittel und bringt auch einige Nachteile und Risiken mit sich.
  • Der größte Nachteil ist sicherlich, daß AJAX nicht mehr funktioniert, wenn JavaScript ausgeschaltet wird. Aber auch Probleme mit der Barrierefreiheit, Suchmaschinenfreundlichkeit und Sicherheit treten auf.
  • AJAX ist am ehesten für Intranet-Anwendungen geeignet, bei denen JavaScript eingeschaltet ist, Barrierefreiheit und Suchmaschinenfreundlichkeit keine große Rolle spielen und Sicherheitsrisiken durch das Intranet minimiert werden können.

AJAX – Anwendungsbereiche, Stärken und Schwächen

AJAX und Web 2.0 sind in aller Munde. Glaubt man den euphorischen Berichten und Workshops in Internet-Zeitschriften, so ist AJAX die Lösung für alle Probleme, die sich im Web stellen. Aber ist das wirklich der Fall? Wo kann AJAX wirklich sinnvoll eingesetzt werden, wo macht es keinen Sinn oder birgt sogar Risiken?

Zunächst wäre die Frage zu beantworten, was AJAX überhaupt ist. Das Wichtigste zuerst: AJAX (Asynchronous JavaScript And XML) ist keine neue Technologie, sondern wie Web 2.0 eine Bezeichnung für die Kombination vieler altbekannter Elemente. All diese Elemente gibt es spätestens seit dem Jahr 2000, einige wesentlich länger.

AJAX setzt sich aus folgenden Elementen zusammen: JavaScript und DOM sowie XML sind die Kerntechnologien. Hinzu kommen oft XHTML und CSS, sowie eine serverseitige Scriptsprache, meist PHP. Die einzelnen Elemente sollen hier nicht näher erläutert werden. Vielmehr möchte ich einen Überblick über die Funktionsweise von AJAX geben und Vor- und Nachteile der Technologie näher beleuchten.

AJAX dient dazu, Webanwendungen zu erstellen, die sich wie Desktop-Anwendungen verhalten. Das bedeutet, daß bei einer Aktion nicht die komplette Seite und alle Daten neu vom Server geladen werden müssen, sondern nur der Teil neu aufgebaut wird, der sich verändert. Dieser Part wird von JavaScript und dem DOM übernommen. Dies bringt vor allem Geschwindigkeitsvorteile mit sich. Darüber hinaus reduziert es den notwendigen Traffic.

Sie werden sich vielleicht jetzt fragen: Ist das alles? Ja, das ist alles, mehr macht AJAX nicht. Klar, das ist für viele Anwendungen im Web ohne Frage ein erheblicher Fortschritt. Aber AJAX ist kein Allheilmittel, es ist nicht für alles geeignet. AJAX bringt zudem auch Nachteile und Risiken mit sich.

Erstellt man zentrale Elemente einer Webseite mit AJAX, so riskiert man, daß Besucher, die JavaScript ausschalten, die Webseite nicht benutzen können. Daher ist vom Einsatz von AJAX abzuraten, wenn man auch Besucher ansprechen will, die JavaScript abschalten.

Gleiches gilt für Barrierefreiheit. AJAX-Anwendungen sind wegen des JavaScript-Anteils nicht barrierefrei. Legt man darauf Wert, sollte man AJAX nicht einsetzen oder zumindest barrierefreie Alternativen anbieten, wobei darauf zu achten ist, daß Suchmaschinen dies nicht als Täuschungsversuch auffassen. Eine weitere Alternative ist der Einsatz von Web Accessibility Initiative's Accessible Rich Internet Applications (WAI ARIA), einem zukünftigen Standard des W3C, der barrierearme AJAX-Anwendungen erlaubt. Die großen Browser haben ihn schon implementiert, sodaß er eingeschränkt bereits einsetzbar ist.

AJAX-Anwendungen werfen zudem Schwierigkeiten auf, wenn es darum geht, sie Suchmaschinen zugänglich zu machen. Für dieses Problem gibt es diverse Lösungsansätze. Für Suchmaschinen besonders wichtige Elemente wie Überschriften oder Meta-Tags wie title und description können die Indizierung erleichtern, ebenso die Bereitstellung für den Besucher nicht sichtbarer Verlinkungen oder einer zweiten, JavaScript-freien Variante des Contents. Die beiden letztgenannten Herangehensweisen sind jedoch mit Vorsicht zu genießen, da Suchmaschinen das als Täuschungsversuch ansehen und darauf mit einer Abwertung der Seiten reagieren könnten. Festzuhalten bleibt, daß Suchmaschinen mit AJAX Probleme haben, was bei der Anwendung zu berücksichtigen ist. Teile einer Website, die in einer Suchmaschine gut vertreten sein sollen, sollten nicht auf AJAX angewiesen sein.

Probleme bereitet AJAX auch im Zusammenhang mit dem Verwenden der Vor- und Zurücktaste des Browsers sowie mit dem Setzen von Bookmarks. Auch hier gibt es Lösungsansätze. Dennoch sollte man sich des Problems bewußt sein.

Auch Sicherheitsaspekte sind im Zusammenhang mit AJAX zu beachten. AJAX fragt die Daten in kleinen Schritten ab. Ein Angreifer kann dies ausnutzen und die Art der Abfrage herausfinden, um an die Daten zu kommen. Darüber hinaus stellen sich die üblichen Sicherheitsprobleme, die JavaScript mit sich bringt, z. B. die Verbreitung von Trojanern und anderen Schädlingen.

Zusammengefaßt ist zu sagen, daß AJAX für bestimmte Anwendungen sicher sinnvoll ist. Wenn es bei einer Webanwendung auf Geschwindigkeit und die Reduzierung von Traffic ankommt, kann AJAX das Mittel der Wahl sein. Nicht geeignet ist AJAX für Webseiten, die weltweit für alle zugänglich, barrierefrei und suchmaschinenfreundlich sein sollen. Am ehesten eignet sich AJAX m. E. daher für Intranet-Web-Anwendungen, die nicht auf Barrierefreiheit und Suchmaschinenfreundlichkeit angewiesen sind. Ich erstelle Ihnen gern AJAX-Anwendungen, wenn es Sinn macht, berate Sie aber auch über Alternativen.

Zum Menü Zum Inhalt

last modified: 04/04/2009 by DeinWeb