Was lange währt wird endlich ...

JavaFX Preview SDK

Lars Röwekamp

Nach all den Irrungen und Wirrungen, die seit der ersten Ankündigung der JavaFX-Technologie im Mai 2007 – im Rahmen der damaligen JavaOne – entstanden sind, vermochten selbst die gutgläubigsten Optimisten wohl kaum noch zu hoffen, dass Sun seine Zusage der diesjährigen JavaOne einhalten und im Juli 2008 endlich, endlich das lang ersehnte, erste offizielle JavaFX SDK der Entwicklergemeinde zum Download bereit stellen würde. Aber getreu dem Motto „Totgeglaubte (Technologien) leben länger“ schaffte es Sun pünktlich zum 31.07.2008 das JavaFX Preview SDK inklusive neuer Webseite javaFX.com zu launchen.

Das SDK soll es Grafikdesignern sowie Web- und Java-Entwicklern ermöglichen, gemeinsam „Next Generation Internet“-Anwendungen zu bauen. Die enthaltenen Tool Suites sollen dabei helfen, die Lücke zwischen Design und Anwendungslogik zu schließen.

Um es gleich vorweg zu nehmen: Das SDK inklusive der nahezu zeitgleich veröffentlichten Demos, Tutorials, Dokumentationen und Blogeinträge hat meine persönlichen Erwartungen um einiges übertroffen. Um es ebenfalls vorweg zu nehmen: Meine Erwartungen waren bedingt durch die (fehlenden) Ereignisse der letzten 15 Monate sowie durch einige von mir durchgeführte Testprojekte rund um das Thema JavaFX nicht besonders groß.

Aber von Anfang an: Was ist überhaupt JavaFX?

Laut Sun Microsystems stellt JavaFX die zukünftige Präsentationsschicht innerhalb des Java-Ökosystems dar. Zugegeben, das klingt ein wenig abstrakt. Etwas konkreter formuliert ist JavaFX eine Produktfamilie, mit deren Hilfe Rich Media (Internet) Anwendungen auf einfache und schnelle Weise erzeugt und – dank JavaFX Runtime – auf verschiedensten Endgeräten zum Laufen gebracht werden können. Das mittelfristige Ziel von Sun ist es dabei neben dem bereits heute unterstützen Desktopsystemen auch mobile Devices (JavaFX Mobile, Frühjahr 2009), TVs (Anfang 2010) und andere Geräte einzubeziehen.

Abb. 1: JavaFX Architektur (Quelle: Sun)

Ermöglicht werden soll dies durch einen modularen Aufbau (Abb.1). Aufsetzend auf der JavaFX Runtime Engine existiert eine für alle Devices gemeinsame Basis an APIs, die Common Elements. Beispiele für Common Elements sind 2D-Grafiken, Animationen und Texte. Zukünftig werden auch Audio- und Video-Support, Networking und Zugriff auf den lokalen Speicher dazu zählen. Möchte man also eine Device übergreifende Anwendung bauen, so muss man sich von Anfang an auf eben diese Elemente beschränken.

Jede Zielumgebung verfügt zusätzlich über einen Satz von spezifischen Elementen. Im Falls des Desktops – der bislang einzig unterstützen Zielumgebung – handelt es sich um die Desktop Elements, welche u.a. Application Lifecycle Support, Swing Wrapper, XML- und JSON- Support sowie DB-Zugriff zur Verfügung stellen.
Um an dieser Stelle kein Missverständnis aufkommen zu lassen: JavaFX ersetzt nicht Java. Dies gilt zumindest für die Java VM. Theoretisch ist es zwar möglich – wenn wahrscheinlich auch nicht unbedingt sinnvoll – rein auf JavaFX Script basierte Rich Media Anwendungen zu programmieren, eine Java VM als Ablaufumgebung wird aber nach wie vor benötigt.

Die JavaFX-Technologie ist somit eher als eine Art Delegator in die bestehende Java Welt zu sehen, der existierende Java APIs und Frameworks nutzt, nicht aber als eigenständige Runtime Engine.

Geschrieben von
Lars Röwekamp
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.