JavaFX: Flash-Konkurrent von Sun mit neuer Skriptsprache
Auch Sun versucht mit JavaFX auf dem Markt für browserintegrierte Applikationsplattformen mitzumischen. Bei JavaFX handelt es sich um eine Plattform, die durchgängig animierte und optisch äußerst anspruchsvolle Bedienoberflächen ermöglicht. Im Kern ist JavaFX eine deklarative Skriptsprache, als Oberflächenbibliothek kommt Swing zum Einsatz. JavaFX nutzt Java-Klassen und -Konzepte und kann dabei potenziell auf alle Technologien und Bibliotheken zurückgreifen, die Java von Haus aus bietet. Im Moment werden JavaFX-Applikationen im Web über die Java-WebStart-Technologie und jnlp-Dateien gestartet.
Da Java auch auf vielen mobilen Endgeräten verfügbar ist, steht auch der Integration von JavaFX in die Handy-Browser nichts im Weg. JavaFX Mobile soll das erste Release werden, das die neue Skriptsprache nutzt. Gemäß der Lizenzstrategie von Sun wird auch der Quellcode von JavaFX veröffentlicht. Bleibt abzuwarten, ob JavaFX es schafft, den "Desktop-Java"-Gedanken neu zu beleben.
Die Beispielapplikation Music Pinboard demonstriert die Möglichkeiten von JavaFX. Nachdem der Name eines Künstlers im Suchfeld eingegeben wurde, sammelt die Applikation dazugehörige Albeninformationen sowie Foto und Videomaterial. Diese Applikation setzt eine JRE in der Version 1.6 voraus.
RIA auf dem Desktop
Die Nachfrage nach Offline-Funktionen hat einige RIA-Hersteller dazu bewogen, zum alten "fat client” zurückzukehren und Möglichkeiten zu schaffen, Webapplikationen auf dem Desktop auszuführen. Adobe AIR und Google Gears sind Beispiele für diesen Trend.
Ein gemeinsames Merkmal dieser Desktop-RIAs ist die Plattformunabhängigkeit. Das Betriebssystem an sich spielt keine Rolle mehr. Die RIA-Plattform regelt den Zugang zu Ressourcen wie dem lokalen Dateisystem oder der Datenbank. Somit bekommen Millionen von Webentwicklern die Möglichkeit, ohne langwierige Einarbeitung Desktopapplikationen zu entwickeln.
Adobe AIR
Adobe AIR 1.0 erlaubt es Entwicklern, Flex- oder HTML/JavaScript-Applikationen zu erstellen, die auf dem Desktop lauffähig sind, Internetzugang bieten und im Offline-Modus betrieben werden können. Aktuell ist es möglich, AIR-Applikationen für Windows und Mac zu erstellen, eine Linux-Version ist in Arbeit. Über ein umfangreiches API bietet AIR den Zugriff auf das lokale Dateisystem, das Netzwerk, die integrierte SQLite-Datenbank und vieles mehr. Für das Rendern und Anzeigen von HTML-Inhalten wird auf die integrierte WebKit-HTML-Engine zugegriffen. Native Fenster, Menüsysteme, Drag-and-Drop-Funktionalität, Zugriff auf die Zwischenablage sowie Systembenachrichtigungen sind möglich.
Das Entwicklungswerkzeug der Wahl ist entweder der Adobe Flex Builder oder das Eclipse-basierte Aptana Studio. Die kompilierten AIR-Applikationen können wie native Applikationen installiert und deinstalliert werden.
Firmen wie NASDAQ, SAP oder eBay verwenden schon seit geraumer Zeit AIR. Die eBay-Desktop-Applikation bietet Funktionen, die es in der Webversion nicht gibt. Zum Beispiel die Möglichkeit persistenter Filter, Caching der Artikel oder Warnungen über auslaufende Auktionen.
Die AIR-Applikation "AOL Top 100 Videos" spielt, wie der Name schon sagt, ausgewählte Musikvideos von AOL ab. Diese werden aus dem Internet geladen und in einer Art "Desktop-Widget" abgespielt. Ein Fullscreen Mode, eine Dockansicht und eine Bookmark-Verwaltung runden den gelungenen Videoplayer ab.
Auf der Adobe-AIR-Produktseite finden Sie eine Reihe guter AIR-Applikationen, wie zum Beispiel Apprise von Christian Cantrell. Apprise ist ein RSS-Reader, der sowohl online als auch offline arbeitet und den Import und Export von RSS- und ATOM-Feeds unterstützt.
Google Gears
Google hat mit Google Gears eine Plattform vorgestellt, auf deren Basis sich Online-Applikationen offline betreiben lassen. Das Browser-Plug-in liegt in Version 0.2 vor, ist also noch in einem sehr frühen Stadium. Derzeit läuft Google Gears unter Internet Explorer und Firefox für Windows, Mac OS X und Linux. Google Gears ist quelloffen unter der neuen BSD-Lizenz veröffentlicht. Die Software bringt eine SQLite-basierte-Datenbank, einen kleinen Webserver sowie eine Engine zur Synchronisation von Daten im Hintergrund mit. Die auf einem Rechner installierten Google-Gears-Komponenten werden über JavaScript-APIs angesprochen. Diese APIs erlauben den lokalen Dateizugriff, SQLite-Datenbankzugriff sowie das Ausführen von asynchronen JavaScript-Anfragen.
Bei der ersten Ausführung einer Google-Gears-Applikation ist eine Ausführungsgenehmigung notwendig. Im Browser weist ein Fenster darauf hin, dass die Website Google Gears nutzen möchte, und ermöglicht es, den Download von Daten auf den PC abzulehnen oder zuzulassen.
Google setzt auf externen Input, um die Technik zu verfeinern. Unter dem Strich handelt es sich um eine interessante Technik, die Webanwendungen wieder ein Stück näher an klassische Desktop-Applikationen heranrückt. Wünschenswert wäre, dass Google weitere Produkte mit Offline-Funktionen ausrüstet – auch, um Unterstützung für das Projekt zu demonstrieren.
Dies ist aktuell nur im webbasierten Feedreader Google Reader der Fall. Neben Web-2.0-Funktionen kann der Nutzer eigene Feeds für andere Leser erzeugen. Es ist auch möglich, abonnierte Feeds zur Offline-Anzeige herunterzuladen.
GoogleGears wird auch schon von einigen Fremdentwicklern wie Rememberthemilk genutzt. Durch die Google-Gears-Funktionen können Aufgaben und Notizen auch offline angelegt und modifiziert werden.
Anwender der Textverarbeitung Zoho Writer können nach Installation von Google Gears Dokumente auf den lokalen Rechner laden. Offline-Dokumente können lediglich gelesen, aber nicht modifiziert werden.
Links & Literatur
- http://www.adobe.com/products/air/
- http://www.adobe.com/products/flex/
- http://opensource.adobe.com/
- http://weblogs.macromedia.com/flexteam/
- http://flex.org/showcase/
- http://www.microsoft.com/silverlight/
- http://silverlight.net/
- http://silverlight.net/Showcase/
- http://gears.google.com/
- http://www.laszlosystems.com/
- http://java.sun.com/javafx/




