Im letzen Blogpost ging es um die zunehmende Bedeutung von Java-Script und Ajax im Bereich der Rich Internet Application Technologien. Bereits mehrfach bemängelt wurde das Entwicklungsmodell und der Toolsupport für Java-Script. Es gibt zwar mit Netbeans, Aptana u.v.a.m. Tools, die die Programmierung mit Java-Script unterstützen, sie sind aber von ihrem Featurereichtum meilenweit von dem entfernt, was bei anderen Sprachen möglich ist. Ein Grund liegt auch in der Sprache, die viele Dinge, die Integrated Development Environments (IDE) möglich machen, unterbindet. Und letztlich – ganz subjektiv – macht die Programmierung mit Java-Script nicht sonderlich viel Spaß und die vielen Frameworks lindern diese Not nur teilweise.
Google hat schon sehr früh das Potential von Ajax erkannt und gleichzeitig die oben genannten Problempunkte adressiert und eine Möglichkeit geschaffen, Ajax Anwendungen zu erzeugen, die Ihresgleichen sucht: Das Google Web Toolkit oder kurz GWT. GWT ist mittlerweile in Version 1.6 erschienen und man kann schon seit einiger Zeit von einer ausgereiften Technologie sprechen. Nahezu alle Google Webanwendungen (inklusive von Google Wave) sind mit GWT erstellt worden.
GWT löst die lästige Java-Script Programmierung indem man in einer ausgewachsenen Sprache – namentlich Java – programmiert und dann seine Java Sourcen in eine Ajax Anwendung “kompiliert” (wobei natürlich kein binäres Kompilat entsteht sondern nur hochoptimiertes Java-Script). Durch diesen Geniestreich löst Google die Unzulänglichkeiten von Java-Script, denn es wird ausschließlich in Java programmiert. Zum anderen löst Google die Unterstützung durch Tools, denn es liefert nicht nur ein GWT-PLugin für Eclipse mit, vielmehr sind auch alle anderen für Java gedachten Eclipse-Plugins möglich. Auch weitere Tools aus dem Java Umfeld wie Continious Integration, Code Metrics und Analyse sind möglich. Auch die weiteren Vorteile der Java-Technologie wie die leichte Backend-Integration, die Verfügbarkeit qualifizierter Entwickler und die umfangreichen Bibliotheken dienen dem GWT-Ansatz.
Mit dem GWT muss sich der Web 2.0 Entwickler nicht mit Java-Script beschäftigen, auch nicht mit Cross-Browser-Kompatibilität und den ganzen Folgeproblemen, sondern kann wie gewohnt seine Java-Klassen schreiben und entwickelt so mächtige Anwendungen wie GoogleMail etc.
Kurzvorstellung
Mit Flex steht sozusagen die Technologie auf dem Prüfstand, die den Begriff Rich Internet Application prägte. Von den verfügbaren Technologien hat Flex bereis eine längere Geschichte, die sich in der aktuellen Versionsnummer 3 wiederspiegelt. Flex kommt von einer J2EE-Serveranwendung her, die für zehntausende von Euro zu erwerben war und ist mittlerweile OpenSource und folglich auch frei erhältlich.
Flex-Anwendungen werden mittels zweier Technologien entwickelt, dem deklarativen MXML (einer XML-Anwendung, die die Benutzeroberfläche beschreibt) und dem programmatischen ActionScript3 (einer objektorientieren Scriptsprache für die Anwendungslogik). Flex ist ein komponentenbasiertes Framework und liefert von Haus aus eine Fülle vom Komponenten mit – weitere lassen sich frei oder käuflich erwerben.
Flex-Anwendungen benötigen den Flashplayer 9 als Runtime und sind somit fast überall lauffähig. Den Flashplayer gibt es für alle Major-Plattformen.
Weiterlesen von ‘RIA-Technologie: Flex’
Adobe hat heute eine Neuauflage seines RIA-Stacks veröffentlicht. Er umfasst seit heute:
- Flex3 SDK
- FlexBuilder 3
- BlazeDS
- Adobe AIR
Neu sind neben den allfälligen Verbesserungen und Optimierungen im Detail, dass das SDK ab sofort im Sourcecode zur Verfügung steht und unter einer OpenSource-Lizenz veröffentlicht wird. Der auf Eclipse basierende Flex-Builder verfügt neben einem visuellen CSS-Editor nun über Refactoringmöglichkeiten und einen Profiler. Als Runtime reicht auch für Flex 3 (wie für Flex 2 und Flash CS 3) der Flashplayer in Version 9.
Mit BlazeDS stehen Teile der Livecycle-DataServices unter einer OpenSource-Lizenz zur freien Verfügung. BlazeDS ist eine hochperformante Lösung, um Java-Backends an Flexanwendungen anzubinden.
Adobe AIR ist eine Runtime, in der Flex-, Flash- und Ajax-Anwendungen außerhalb des Browsers als Desktop-Anwendung betrieben werden können. Damit einhergehend wird diesen Anwendungen eine Offlinefähigkeit verliehen, wie sie für Internetanwendungen unüblich ist.
Detaillierte Informationen können von den Seiten des Flexteams oder der neuen OpenSource-Site von Adobe gewonnen werden.
Adobe untermauert mit diesen Veröffentlichungen seine Führungsposition im Bereich der RIA-Technologien und wird diese sicherlich ausbauen können. Ermsthafte Konkurrenz wird vermutlich erst mit Microsoft Silverlight 2.0 erscheinen, welches sich aber noch schwer in der Entwicklung befindet, es ist erst als Beta angekündigt. Wer sich aber schon jetzt über die Neuerungen bei Silverlight informieren will, dem sei folgender Artikel empfohlen.
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.
Weiterlesen von ‘RIA-Technologie: Ajax’
Kurzvorstellung
JavaFX Script ist Sun Microsystems Beitrag im Wettbewerb um die beste RIA-Technologie.
JavaFX Script ist eine neu entwickelte Scriptsprache, die auf der Java Virtual Machine (JVM) läuft.
Der Hauptvorteil von JavaFX Script ist, dass es die Verwendung von fortgeschrittenem Swing deutlich vereinfacht, in dem es es eine deklarative Sprache verwendet, um User-Interface-Objekte und Animationen etc. zu erzeugen.
RIAs auf JavaFX Script benötigen ein Java Plugin (in Version 6+) denn letztlich handelt es sich bei dieser Art von RIAs um fortgeschrittene Applets, wenn die Anwendung im Browser läuft. RIAs auf JavaFX Script lassen sich aber auch als Desktop-Anwendung installieren und nutzen, etwa über Java-Webstart. Durch die Einbindung beliebiger Java-Bibliotheken lassen sich eine Vielzahl von Backend-Technologien nutzen. Weiterlesen von ‘RIA-Technologie: JavaFX Script’