|
Firmen wie salesforce.com sind in aller Munde - weil sie vollständig web-basierende Alternativen zu klassischen Enterprise-Anwendungen anbieten und damit sehr erfolgreich sind. Selbst Microsoft investiert enorme Summen in die Entwicklung von zukünftigen, Web-Browser basierenden Büroanwendungen, die im Wettbewerb zum klassischen Office stehen werden. Aber das war keineswegs immer so: Lange Zeit bezweifelten viele, ob Web-Applikationen überhaupt je eine ernsthafte Alternative zu klassischen Desktop- Anwendungen sein könnten.
Wir erinnern uns noch gut an das World-Wide-Web, als es erfunden wurde: Man konnte eine Seite mit viel Text und ein paar Bildern im Browser bestaunen, und durch das Klicken auf Links auf die nächste Seite gelangen. Das Maximum an Interaktivität waren Formulare, die man ausfüllen und abschicken konnte - beispielsweise, um eine Bestellung aufzugeben.
Verglichen mit dem Luxus von typischen Windows- und Mac-Applikationen, mit allen ihren Schiebereglern, kontext-abhängigen Rechte-Maustasten-Menüs, Dialogen und anderer sehr enger Interaktivität erschien das Web geradezu als Computer-Steinzeit. Es war nur erfolgreich wegen des Netzwerks - der Möglichkeit, weltweit auf unglaubliche Mengen an Information zuzugreifen und Daten mit nahezu jedem auszutauschen - etwas, das typische Windows-Anwendungen damals einfach nicht konnten.
Als die ersten Programmierer begannen, das Internet und den Web-Browser nicht nur als Surfbrett zu benutzen, sondern tatsächlich echte Anwendungen damit zu bauen - genannt “Web Applications” oder “Intranet-Anwendungen” - suchten sie nach Möglichkeiten, eine Web-Seite mit mehr Interaktivität auszustatten, sie mehr zur echten “Anwendung” zu machen als nur zur Darstellung von Information.
Der erste große Schritt zu diesem Ziel hin war Javascript. Grundsätzlich bedeutete Javascript, dass zumindest eine bestimmte Art von Code auch im Browser ausgeführt werden konnte. Der Browser war nicht mehr nur ein passives Werkzeug zur Darstellung von Information, sondern auch eine Plattform für aktive Programme.
Dann kam die Idee der Java-Applets auf - vollständigen kleinen Mini-Programmen die in einer “virtuellen Maschine” im Browser ausgeführt werden konnten. Sie versprachen volle Möglichkeiten für Applikationen ohne Sicherheitsrisiko. Unglücklicherweise stellte sich das als zu großes Versprechen heraus: Nach hohen Erwartungen war die Realität eher ernüchternd - ständig abstürzende virtuelle Maschinen, langsame Ausführungszeiten und speziell die große Herausforderung, wirklich gute Java-Applets zu entwickeln machte diese Phase zu einem der größten Debakeln des frühen Internet-Zeitalters.
Aber Programmierer ließen nicht locker und so, in etwa um 1998, fanden einige von ihnen ein viel einfacheres Konzept, das es zum ersten Mal ermöglichte, das Paradigma des “Neuladens von Seiten” zu durchbrechen ohne alles neu zu erfinden.
Denn das größte Problem der klassischen Web-Anwendung war folgendes: Wenn ein User eine Eingabe machte, beispielsweise einen Text eintippte oder einen Knopf drückte, dann musste der Browser die gesamten Eingaben zuerst an den Webserver senden. Dieser verarbeitete die Angaben und antwortete mit einer vollkommen neuen Webseite - für den Anwender deutlich sichtbar erstens durch die Verzögerung in dieser Verarbeitung, und zweitens durch den Neuaufbau der ganzen Seite im Browser.
Der Schlüssel zu der neuen Technologie - die erst viel später unter dem Namen “AJAX” berühmt werden sollte - war, mit dem Webserver im Hintergrund zu kommunizieren, und nur die notwendigsten Daten zu übertragen - und damit die existierende Seite zu aktualisieren.

Ein User gibt Text in ein Eingabefeld für die Auswahl eines Namens aus einem Verzeichnis ein. Bei klassischer Web-Programmierung muss der User den ganzen Namen eingeben, und die Eingaben werden erst dann überprüft, sobald der User das Formular abschickt.
Mit AJAX-Programmierung sendet der Browser jeden eingegebenen Tastendruck (per XML im Hintergrund) sofort an den Server. Dieser kann herausfinden, welche Namen aus dem Verzeichnis den Eingaben entsprechen. Diese Liste wird zurück vom Server an den Browser übertragen, der sie dem User z.B. als dynamisches Auswahl-Drop-Down anbietet. Dieses Beispiel klingt zwar einfach (und für Desktop-Anwendungen selbstverständlich), ist jedoch für Web-Anwendungen eine sehr mächtige Ergänzung. Eine der ersten kommerziellen AJAX-Anwendungen war übrigens ein Produkt von Microsoft - Outlook Webaccess 2000 hatte zum Ziel, die Funktionen des Desktop-Outlooks so weit wie möglich im Web nachzubilden, und setzte daher voll auf diese Technik.
Der Begriff “AJAX” (eine Abkürzung für “Asynchronous Javascript und XML”) wurde tatsächlich erst viel später erfunden, und zwar im Jahr 2005 in einem populären Aufsatz von J.J. Garret. Und die ganze Aufregung um AJAX, AJAX Frameworks und ähnliches brach erst danach aus - und hält immer noch an, während die meisten Firmen (inklusive Microsoft) versuchen, diese Techniken endlich in ihre Programmier-Frameworks und Web Application Frameworks zu integrieren. Derzeit ist eine der bekanntesten AJAXAnwendungen vermutlich Google Maps.
Die Wahrheit ist, dass Comyan AJAX-Technologien schon sehr früh einsetzte, im Jahre 2001-2002, aus einer einfachen technologischen Notwendigkeit und dem Drang nach wirklich gut bedienbaren Web-Anwendungen - ohne irgendetwas von dem (viel späteren) AJAX-Hype zu wissen.
Das erste wirklich großartige AJAX-Produkt brachte Comyan im Jahr 2002/03 auf den Markt - das Comyan ePaper. Der Erfolg des Comyan ePaper beruht sehr stark auf dem Umstand, dass das User-Interface wirklich flüssig bedienbar ist - sogar besser als viele andere ePaper-Systeme, die später auf den Markt gekommen sind.
Auch wenn Comyan natürlich nicht für sich beanspruchen kann, AJAX erfunden zu haben, so waren Comyans Programmierer damit sicher unter den ersten, die das Potential dieser Technologie erkannten und sie erfolgreich zum Bau mächtiger Web-Anwendungen einsetzten.
http://en.wikipedia.org/wiki/Ajax_programming
http://www.adaptivepath.com/ideas/essays/archives/000385.php
|