Die Verwendung von AJAX im Web 2.0 Umfeld setzte sich auch heuer ungebrochen fort. Einerseits erleichtern Frameworks wie z.B. Google WebToolkit, JSF,Wicket oder Silverlight den Umgang mit den Untiefen der Javascript Programmierung. Andererseits schöpfen diese nicht das gesamte Potential von Javascript aus und die Weboberfläche wird immer noch durch einen Server und einem Clientteil aufgebaut (zumindestens GWT, JSF oder Wicket). Ich habe aus Interesse wieder einmal den Versuch unternommen, mir aktuelle IDEs und Frameworks anzusehen, um ein kleines Testprojekt umzusetzen (Anbindung von Amazon S3).
Im Bereich der Frameworks hat sich die Lage i
n den letzten Jahren deutlich stabilisiert. Der Ansatz von JQuery hat sich mittlerweile breit durchgesetzt mit Unterstützung vieler Hersteller (z.B. Microsoft Unterstützung von JQuery) und findet bereits in anderen Bereichen Nachahmer, z.B. bei QT & DOM Handling. Frameworks für graphische Funktionen wie z.B. Rahpaeljs bieten sehr viel Flexibilität bei guter Performance.
Zugriff per Javascript auf Serverdaten von anderen Domains (Cross-Domain-Request bzw. XDR) ist generell nicht möglich. Die Same Origin Policy (SOP) die sicherstellt, dass ein Java Script keine Requests zu anderen Domains durchführt ist ein Eckpfeiler für Web App Security
und wird von allen Browser Herstellern eingehalten. Doch die SOP ist auch ein Problem für Mash-Ups und Portalseiten, die von überall her guten Content zu einer neuen Seite aggregieren möchten. Mit dem neuen “Access Control” Standard des W3C existiert erstmals eine standardkonforme Möglichkeit, mit einem XMLHttpRequest auf Daten außerhalb der Ursprungsdomain zuzugreifen. (wird neuerdings im XDR Standard von Microsoft unterstützt). Ob sich dieser Ansatz in der Praxis durchsetzt bleibt abzuwarten. Alternativ bleibt derzeit z.B. die Möglichkeit über Proxys die Abfragen zu bündeln.
Die Unterstützung von komplexen Javascript Projekten durch eine IDE ist oft versprochen, aber in der Praxis ungenügend. Ein wesentlicher Punkt hierfür ist sicherlich auch auf die Syntax von Javascript zurüchzuführen. Professionelle IDEs wie z.B. Aptana, Eclipse, IntelliJ sind bei komplexen Javascript Frameworks und Projekten nicht fehlerlos und weit entfernt vom gewohnten Support für andere Programmiersprachen. Unter die Kategorie “Kuriositäten” fällt für mich die TIDE IDE oder Bespin vom Mozilla Projekt. Komplett im Browser als AJAX geschrieben, zeigt es das Potential von JS im Browser (abgesehen von Google Docs, Zoho etc.).
Was sich definitiv verbessert hat, ist die Möglichkeit zur Laufzeit zu debuggen. Plugins wie z.B. Firebug für Firefox sind ausgereift und produktiv einsetzbar. Sie erlauben eine durchgängige Analyse von Fehlern im gesamten Browser-Stack (HTML, CSS, Javascript, DOM, Laufzeitverhalten). IDEs wie z.B. Aptana bieten ebenfalls Debugging Möglichkeiten, fokusieren sich hier aber mehr auf die JS Seite (und sind nicht immer friktionsfrei zu verwenden).
Fazit: Die alleinige Verwendung von AJAX zur Entwicklung von Web-Oberflächen, bleibt derzeit weiter holprig. Für einfache Interaktionen für Oberflächemasken ist es gut geeignet. Darüber hinaus ist derzeit ein Einsatz wie z.B. GWT oder Silverlight schwer zu empfehlen.
Die laufenden Aktivitäten rund um Javascript zeigen aber bereits den wahrscheinlichen Weg auf, wie in Zukunft Weboberflächen gebaut sein werden (z.B. ECMA 5, Standard Library, HTML 5, Web Sockets etc).


[...] lokaler Browser Cache, WebSockets, Canvas und Syntax Erweiterungen gemeint. In einem unserer letzten Artikel haben wir über AJAX und HTML 5 kurz berichtet, auf experimentelle Projekte in diesem Umfeld wie [...]