Anlässlich des zehnten Geburtstags von XML, der sich diese Woche ereignet, einmal ein paar Gedanken zur Rolle von XML und Rich Internet Applications.
XML ist aus RIAs einfach nicht mehr wegzudenken und zwar in zweifacher Hinsicht.
Anlässlich des zehnten Geburtstags von XML, der sich diese Woche ereignet, einmal ein paar Gedanken zur Rolle von XML und Rich Internet Applications.
XML ist aus RIAs einfach nicht mehr wegzudenken und zwar in zweifacher Hinsicht.
Kurzvorstellung
Bei Ajax handelt es sich in den Augen vieler um eine RIA-Technologie. Ajax läuft auf allen aktuellen Browsern mit angeschaltetem Java-Script und kommt ohne Plugin aus. Ursprünglich meinte Ajax nur “Asynchronous JavaScript and XML” und beschreibt ein Verfahren, mit dem man Daten oder Elemente einer Webseite aktualisieren kann, ohne die Seite komplett neu zu laden.
Mittlerweile hat sich Ajax aber als Begriff für ein viel weiteres Spektrum an Funktionalitäten etabliert. Das, was sich vor ein paar Jahren DHTML (Dynamisches HTML) nannte ist ebenso Bestandteil des Ajax-Phänomens geworden wie alternative Datenaustauschformate zu XML (etwa die “Java-Script Object Notation” Json). Ajax besteht aus einem Patchwork an Technologien: Java-Script, XML, XHTML, CSS und einer Backendtechnologie, die die benötigten Daten von den Servern liefert.
Um die recht mühsame Ajax-Programmierung zu erleichtern haben sich etliche sehr gute Libraries gebildet, die von reiner Bereitstellung von Funktionalitäten hin zu Animationen etc. ein breites Spektrum abdecken. Ein paar gelungene Beispiele dieser Bibliotheken sind ExtJS, JQuery, Scriptaculous und Dojo-Toolkit.
Was die Entwicklung erschwert ist das Problem, dass sich Ajax-Anwendungen auf vielen Browsern unterschiedlich verhalten und so ein vergleichsweise höherer Entwicklungs- und Testaufwand zu berücksichtigen ist.
Einer der Vorteile von Internet-Anwendungen ist zweifellos, dass man immer mit seinen aktuellen Daten arbeiten kann, egal von wo aus man sich anmeldet. Der Nachteil ist derjenige, dass man permanent online sein muss, um die Anwendung zu nutzen. Das ist aber nicht immer möglich, sei es dass man im Flugzeug sitzt oder dass man einfach mal keinen Onlinezugang zur Verfügung hat.
In diese Lücke springen Client-Anwendungen, die es ermöglichen Onlineanwendungen auch offline zu nutzen. Google Gears ermöglicht es als Mozilla Firefox Plugin AJAX-Anwendungen auch ohne online Verbindung weiter zu benutzen.
Einen browserunabhängigen Ansatz stellt Adobe AIR (Adobe Integrated Runtime, vormals Apollo) dar, welches eine Client-Anwendung zur Verfügung stellt, indem on- und offline AJAX- aber auch Flash- und Flexanwendungen genutzt werden können. AIR steht bald für alle großen Betriebssysteme (Windows, OS X und Linux) zur Verfügung und erlaubt die schnelle Entwicklung von komfortablen Anwendungen, die wie eine Browseranwendung genutzt werden können, aber auch wie eine klassische Desktopanwendung.
Die Entwicklung für solche offline nutzbare Internetanwendungen steht erst ganz am Anfang und es kann durchaus ein neuer Typus nutzerfreundlicher Anwendungen daraus hervorgehen.