AJAX-Entwicklung leichter gemacht
Artikel erschienen in Swiss IT Magazine 2006/05
Das meistgelesene Zitat zur Web-Programmiertechnik AJAX: «AJAX is not a technology». Der Begriff bezeichnet weder eine brandneue Basistechnologie, noch handelt es sich um eine bisher unbekannte Programmiersprache. Unter AJAX versteht man vielmehr die clevere Kombination verschiedener seit Ende des letzten Jahrtausends bestehender Web-Technologien mit dem Zweck, Web-Applikationen ein besseres User-Interface zu verpassen: Der Benutzer soll sich im Browser nicht weniger wohl fühlen als auf dem Desktop.
Präziser gesagt, vereint AJAX die folgenden Standards, Objekte und Vorgehensweisen zu einer im Gesamten doch recht neuartigen Methodik für die Erstellung von «Rich Internet Applications»:
die Web-Standards XHTML, CSS und JavaScript
das Document Object Model (DOM) für dynamische Interaktion auf Webseiten
Datenaustausch via XML, XSLT und SOAP
das XMLHttpRequest-Objekt für die asynchrone Kommmunikation zwischen Browser und Webserver
Es ist selbstverständlich möglich, AJAX-Anwendungen von Grund auf mit herkömmmlichen Entwicklungstools wie Eclipse, Visual Studio oder Dreamweaver zu programmieren. Wer die verschiedenen Technologien nicht aus dem Effeff beherrscht, verzagt allerdings rasch einmal vor der schieren Komplexität des Gesamtbilds – vor allem der typische Web-Desiger oder Webmaster, der gerne auch mal eine waschechte Web-Applikation erstellen möchte oder auf einen entsprechenden Kundenwunsch reagieren muss, ist überfordert.
Den Hype-Status hat AJAX erst in den letzten Monaten so richtig erreicht. Neuartige Browser-Anwendungen wie die Kollaborationssuite Zimbra machen immer mehr Endusern und Entwicklern Appetit auf hoch interaktive Webseiten – und schon stehen auch die Anbieter von Entwicklungstools in den AJAX-Startlöchern: Mit Zusatzfeatures, Objektbibliotheken oder ganzen Entwicklungsumgebungen soll der Web-Developer vor den Details der eingesetzten Technologien verschont werden.
Das Spektrum reicht von der simplen JavaScript-Library mit wenigen Basisfunktionen über Widget-Sammlungen bis hin zu komplexen Frameworks samt Event-Handling und serverseitigen Komponenten zur Integration mit
.Net oder J2EE-Applikationsservern.
JackBe und Tibco warten gar mit komplett neuen Entwicklung-systemen mit visuellen User-Interface-Baukästen und Debugging-Tools auf; andere Anbieter wie Backbase setzen auf Plug-Ins für die gängigen Entwicklungsumgebungen Eclipse, Visual Studio und Dreamweaver, die von Haus aus bisher keine spezielle AJAX-Unterstützung bieten.
Ob kommerzielles Produkt oder Open-Source-Projekt: Die heute erhältlichen AJAX-Toolkits sind noch jung, aber oft erstaunlich ausgefeilt und stabil. Bisweilen hapert es mit der Cross-Browser-Fähigkeit. Die meisten Toolkits unterstützen Internet Explorer, Mozilla und Firefox als Clients; Support für Apples Safari, die Linux-Standardgrösse KDE und Opera dagegen ist rar. General Interface von Tibco, von «Infoworld» im Rahmen des «2006 Technology of the Year Award» zum besten AJAX-Toolkit erkoren, versteht sich peinlicherweise überhaupt nur mit Internet Explorer 6 – die Tibco-Mannschaft beeilt sich indes auf zahlreich geäusserten Wunsch, demnächst wenigstens auch Firefox zu berücksichtigen.
Manche AJAX-Toolkits unterstützen nicht alle Browser gleich gut - Backbase leitet Safari-Besucher seiner eigenen Website auf eine spezielle Variante ohne AJAX-Elemente um.
Mit einer Ausnahme steht bei allen Toolkits eine Sammlung sogenannter Widgets im Zentrum. Das sind vorgefertigte User-Interface-Elemente wie Dropdown-Listen, Kalender, Tabellengitter und Buttons, zusammengesetzt aus Code in XHTML und JavaScript, gestylt per CSS und XSLT und vervollständigt durch XML-Schnittstellen zum Datenaustausch mit dem Server.
Der Einbau eines Widgets in eine Webseite erfolgt traditionell durch Aufruf des entsprechenden JavaScript-Objekts. Einige Toolkits bieten stattdessen beziehungsweise zusätzlich eine meist als XML-Dialekt ausgelegte Deklarationssprache, so Backbase, JackBe und Bindows. Die grössten Unterschiede zeigen sich bei Lizenz und Preis. Viele JavaScript-Libraries mit AJAX-Features sind in der Open-Source-Szene zu finden und somit nicht nur quelloffen, sondern aus kostenlos nutzbar; unsere Marktübersicht zeigt nur einige besonders interessante Beispiele.
AJForm gilt als einfachster Einstieg in die AJAX-Welt und kümmert sich im Wesentlichen nur um die asynchrone Kommunikation zwischen HTML-Formularen und dem Webserver. Die Entwickler von Zimbra haben ihr hauseigenes AJAX-Framework unter zwei Open-Source-Lizenzen freigegeben, und Yahoo stellt die von den eigenen Websites bekannten Widgets ebenfalls der Open-Source-Gemeinde zur Verfügung. Der Löwenanteil der kommerziellen Anbieter arbeitet nach einem Prinzip, das bei den Herstellern von Entwicklungstools heute gang und gäbe ist: Es sind verschiedene Editionen erhältlich – der Entwickler kann mit einer kostenlosen Developer-Edition arbeiten; für die Freigabe der erstellten Websites im Internet oder Intranet dagegen muss eine Lizenz gelöst werden.
Interessant wirkt das Pricing-Modell von Tibco: Früher gab es General Interface nur zu erklecklichem Preis, seit kurzem ist nicht nur eine «Developer License» mit GUI Builder und Testumgebung gratis zu haben, sondern auch die «Public Deployment License» zur Veröffentlichung im World Wide Web. Nur wer eine Site fürs private Intranet baut, muss zahlen – hier ist das Pricing von der Anzahl Benutzer abhängig, zusätzlich sind auch unternehmensweite Lizenzen und solche für ISPs, ASP-Anbieter und
OEMs erhältlich.
Marktübersicht: 11 Toolkits für die Software-Entwicklung mit AJAX
(ubi)