JavaFX

JavaFX ist eine seit Dezember 2008 als Open Source verfügbare Technologie der Firma Sun, die die Erstellung von Web-, Desktop- sowie mobilen Anwendungen sogenannten Rich Internet Applikationen optimiert. JavaFX setzt auf Java auf, sodass dessen umfangreiche Schnittstellen und Bibliotheken genutzt werden können. Ein entscheidender Kern der JavaFX-Umgebung ist JavaFX Script - eine eigene Scriptsprache.


Mit JavaFX Mobile steht eine Software-Plattform - unter OEM-Lizenz - für das Marktumfeld der mobilen Endgeräte zur Verfügung. Zunächst wurden nur Windows und Mac OS unterstützt - seit Version 1.2 sind es auch Linux und Solaris. JavaFX wird aktuell in der Version 1.2.1 unter dem u.g. Link bereitgestellt. Als - im Einzelfall differenziert zu betrachtende - alternative Technologien zu JavaFX gelten Adobe Flash, Silverlight von Microsoft, AJAX ( Asynchronous JavaScript and XML) sowie Adobe Apollo. Beispielsweise ergeben sich für JavaFX ganz andere Einsatzmöglichkeiten als für AJAX.

JavaFX als Entwicklungsplattform

JavaFX ist eine Plattform zur Entwicklung von Desktop- und mobilen Anwendungen - mit JavaFX wird sowohl die Plattform als auch das Framework bezeichnet. Entwickler sollen damit Rich Internet Applications (RIA) - eine spezifische Form interaktiver Web-Applikationen - erstellen. Der Ansatz von JavaFX zielt aber auch auf die Vereinheitlichung von klassischen Desktop- und Web-Applikationen. Das JavaFX-Environment enthält u.a. einen Compiler für die Scriptsprache JavaFX Script, Bibliotheken und eine Java Laufzeitumgebung (JRE). JavaFX Script und die JRE ersetzen dabei nicht das bestehende Java-System, sondern bauen auf der Java Virtual Machine (JVM) und den Standard-Klassenbibliotheken wie beispielsweise Swing auf. Mit Java-FXScript verfügt das Environment über eine spezifische Sprache, die beim Compilieren jedoch - wie bei Java auch - Class-Dateien erzeugt. Übrigens können alle mit JavaFX Script erstellte Programme auf jeder aktuellen Java-Plattform ausgeführt werden. Im Dezember 2008 wurden alle notwendigen Komponenten zur Ausführung von JavaFX Script auch mit dem Java Update 11 veröffentlicht.

JavaFX zur Integration von Audio- und Videodateien

JavaFX realisiert eine geordnete Integration von vielen Audio- und Video-Formaten zur direkten Verwendung. Weiterhin wird die Anbindung an moderne Webservices explizit unterstützt, und eine direkte Verbindung zu Hardwarebeschleunigungen wie beispielsweise DirectX und OpenGL an die Zielsysteme mit Windows, Mac, Linux und Solaris ist ebenso integriert. Ein Design-Ziel von JavaFX war es aber auch, die Erstellung von Java-Applikationen für mobile Endgeräte, sogenannte MIDLets wie Telefon, iPod etc. zu forcieren, da Java eine weit verbreitete Technologie in diesem Marktumfeld ist.

Der Kern der JavaFX-Technologie ist die Scriptsprache JavaFX Script. Damit wurde eine deklarative Scriptsprache geschaffen, die explizit auf Java aufbaut, jedoch strukturell einfacher gestaltet ist als diese. So wurde eine ähnliche deskriptive Umgebung wie Flash, ActionScript oder JavaScript realisiert. Durch JavaFX Script ist die Entwicklung von grafischen Oberflächen mit Hilfe eines SzeneGraphen und einer großen Anzahl von 2D- und 3D-Effekten sowie weiteren Möglichkeiten der Animation durchführbar. Mit JavaFX Script können alle Vorteile von Java genutzt werden, ohne direkt in die objektorientierte Welt von Java einsteigen zu müssen. Der Anwenderkreis soll somit dahingehend ergänzt werden, dass vor allem auch eher kreativ ausgerichtete Anwender JavaFX Script einsetzen.

Trotz des noch frühen Entwicklungsstandes von JavaFX bestehen bereits komfortable Integrationen in häufig verwendete Entwicklungsumgebungen wie beispielsweise Eclipse und Netbeans IDE. Auch existieren Plug-Ins zur direkten Generierung von JavaFX-Objekten aus Vektorgrafiken - im Zusammenhang mit Scalabe Vector Graphics (SVG) - für grafische Anwendungen.

Ein Nachteil der JavaFX-Technologie ist insbesondere noch die auffallend lange Ladezeit der Java Virtual Machine (JVM) - das lässt vor allem aufwendige grafische Anwendungen offensichtlich langsam aussehen. Vorteilhaft kann wiederum die zügige und einfache Portierung von Webdiensten und Desktop-Applikationen auf mobile Geräte sein.

Unter dem u.g. Link steht im Übrigen auch ein Quellcode-Respository für JavaFX zur Verfügung. In einer umfangreichen Dokumentation sind auch die Programmierschnittstellen ( Application Programming Interface, API) der Klassen beschrieben, die - basierend auf HTML und Cascading Style Sheet (CSS) - mit jedem Web-Browser angesehen werden können.

http://javafx.com

http://openjfx.dev.jave.net/source/browse/openjfx

Informationen zum Artikel
Deutsch: JavaFX
Englisch: JavaFX
Veröffentlicht: 08.11.2013
Wörter: 658
Tags: #Java
Links: ActionScript, AJAX (asynchronous JavaScript and XML), Animation, API (application programming interface), Apps