JavaFX
JavaFX
| |
---|---|
JavaFX | |
Basisdaten
| |
Entwickler | Oracle |
Aktuelle Version | 2.2 (Format invalid) |
Betriebssystem | Microsoft Windows, Mac OS X, Linux, Solaris |
Programmiersprache | Java |
Kategorie | Web Application Framework |
Lizenz | proprietär / GPL |
javafx.com |
JavaFX ist ein Framework für plattformübergreifende Rich Internet Applications. Es ist eine Java-Spezifikation und von Oracle und steht in direkter Konkurrenz zu Adobe Flash bzw. Flex und Microsoft Silverlight. Die JavaFX 2.0-Laufzeitumgebung wird ab der Version Java SE Runtime 7 Update 6 mitinstalliert, kann aber auch separat heruntergeladen und installiert werden.
JavaFX kann auf diversen Endgeräten wie Mobilfunkgeräten, Set-Top-Boxen, Desktop-Computern und Blu-ray-Disc-Abspielgeräten zum Einsatz kommen, und ist als Bestandteil der Java-Runtime-Umgebung in einigen Mobilfunkgeräten implementiert.[2] Im Hinblick auf Sicherheit muss der Anwender die erste Ausführung von JavaFX-Anwendungen zuvor bestätigen.
Funktionsweise
JavaFX-Anwendungen in der Version 1.x werden mithilfe von JavaFX Script[3] programmiert. In der aktuellen 2.x Version werden JavaFX-Anwendungen in Standard-Java geschrieben. Die in den Java-Klassenbibliotheken enthaltenen Funktionen und Schnittstellen sind bei der Entwicklung von JavaFX-Applikationen verfügbar. Daneben stellt JavaFX eine eigene Klassenbibliothek bereit, die unter anderem Funktionen zur grafischen Präsentation und zur lokalen und Netzwerk-Datenhaltung enthält.[4] Etliche Komponenten der Benutzerschnittstelle für JavaFX werden aus der normalen Java-Umgebung geerbt. Zur Programmierung stehen zwei Profile, common und desktop, zur Verfügung. JavaFX-Programme, die mit der common-API geschrieben wurden, können grundsätzlich auf allen Endgeräten ausgeführt werden, wohingegen desktop-Elemente auf die Benutzung auf Desktop-Computern beschränkt sind. JavaFX ist insbesondere auf die Grafikprogrammierung und die Kommunikation mit REST-Services ausgerichtet. Neue UI-Komponenten lassen sich schnell erstellen, und alle UI-Komponenten lassen sich per CSS gestalten.
Ausführung und Verteilung
JavaFX-Anwendungen werden vom Webserver heruntergeladen und auf dem Client, typischerweise dem Browser, ausgeführt. Die Anwendung kommuniziert mit dem Webserver über HTTP-GET, REST oder Webservices.
JavaFX-Anwendungen sind zumeist Rich Internet Applications für Desktop-Computer und werden vorwiegend über Java Web Start oder als Java-Applet ausgeführt.
Die Installation von Anwendungen geschieht über Java Web Start, indem das Programm entweder direkt als WebStart-Programm ausgeführt und eine Desktopverknüpfung erstellt wird, oder ein Applet aus dem Browser gezogen und dadurch installiert wird. Zusätzlich wird das Programm so automatisch aktualisiert.
Die für die Anwendung erzeugten Dateien können auf einen Webserver gespielt werden. Der Webserver benötigt keine Java-Laufzeitumgebung, muss aber für den MIME-Typ application/x-java-jnlp-file
konfiguriert sein.
JavaFX-Applikationen können auf diese Weise über einen Hyperlink auf der Website gestartet werden. Parallel dazu ist die Einbettung einer JavaFX-Anwendung in eine Website (über ein JavaScript) möglich.
JavaFX Production Suite
Die JavaFX Production Suite dient als Verbindungsstück zwischen Entwickler und Designer. Es stellt Plug-ins für Adobe Illustrator und Photoshop zur Verfügung sowie ein SVG-zu-FXZ-Konverter, mit denen Grafiken in das JavaFX-eigene Format umgewandelt werden können. Als FXZ gespeicherte Grafiken können zur Laufzeit mit JavaFX sehr einfach verändert (Transparenz, Position, Größe, Form, …) werden. Einzelne Bestandteile können zum Beispiel über eine im SVG-Programm zugewiesene ID angesprochen werden.
Verbreitung der Laufzeitumgebung
Laut statistischer Erhebungen[5] sind die Java-Plattformen 5, 6 und 7 (und damit potentiell JavaFX) auf etwa 70 % aller Desktop-Computern mit Internetanschluss und etwa 97 % aller Firmen-PCs installiert.[6] Häufiger verbreitet ist nur die konkurrierende Flash-Laufzeitumgebung in ihren verschiedenen Versionen mit mehr als 95 %. Silverlight ist ebenfalls auf etwa 70 % dieser Systeme installiert.
Entwicklungsgeschichte
JavaFX wurde im Mai 2007 angekündigt und im Mai des folgenden Jahres auf der Entwicklerkonferenz JavaOne vorgestellt. Am 4. Dezember 2008 gab Sun JavaFX 1.0 offiziell als Entwicklerkit für Windows und Mac OS X frei.[7] Die Version 1.2 wurde im Juni 2009 veröffentlicht. Sie enthielt unter anderem anpassbare UI-Controls, zusätzliche Layout-Klassen (Tile, Stack, Flow, ClipView, Panel), Unterstützung für RSS/Atom-Feeds. Sie ist nicht abwärtskompatibel. Erst seit dieser Version wurden Linux und Solaris unterstützt. Die Version 1.3 (Codename SoMa) wurde am 22. April 2010 veröffentlicht. Die offensichtlichste Neuerung ist eine teils enorme Steigerung der Performance. Neu ist zudem JavaFX TV, eine offizielle CSS-API zur Gestaltung von JavaFX-Controls, einige neue, gewünschte Controls sowie eine Unterstützung von 3D.[8] Die aktuelle Version 1.3.1 wurde am 21. August 2010 veröffentlicht und verbessert die Fortschrittsanzeige beim Aufstarten und das Debugging in Netbeans 6.9.1.
JavaFX 2.0 erschien wie angekündigt im dritten Quartal 2011.[9] In dieser Version wird auf JavaFX Script verzichtet, stattdessen wurden die bestehenden JavaFX Script APIs auf Java portiert. Damit entfällt das Erlernen einer weiteren Skriptsprache für Java-Entwickler. In JavaFX 2.0 wurde außerdem das Hardware-Rendering optimiert, sodass nun Spiele und aufwändige 3D-Darstellungen möglich sein sollen. HTML- und JavaScript-Inhalte rendert JavaFX 2.0 mit Hilfe der WebKit-Bibliothek. Oracle hat im Zuge der Veröffentlichung der neuen Version angekündigt, JavaFX zukünftig als Open-Source-Projekt im Rahmen des OpenJDK weiterzuentwickeln.[10]
JavaFX 2.2 erschien im August 2012. Die Serverumgebung ist mit Version Java SE 7u6 in die Standardumgebung integriert und kann damit zunehmend vorausgesetzt werden. Eine Installation neben Java SE 6 ist noch möglich. Java 6 ist zu Februar 2013 abgekündigt und entsprechend ist auch die kostenlose Weiterentwicklung für die Installation neben Java 6 zu diesem Termin abgekündigt. [11]
Literatur
- Jens Heitmann: JavaFX in NullKommaNix. Ein ausführliches Handbuch zu JavaFX. jmb-Verlag, Hannover 2009, ISBN 978-3-940970-40-4
- Ralph Steyer: JavaFX: Dynamische und interaktive Java-Applikationen mit JavaFX. Addison-Wesley, 2008, ISBN 978-3-8273-2615-7
- Mike Markgraf: JavaFX – schnell+kompakt. entwickler.press 2009, ISBN 978-3-86802-036-6
Weblinks
- JavaFX-Produktseite (englisch)
- JavaFX-Produktseite bei Oracle (englisch)
Einzelnachweise
- ↑ Oracle JavaFX
- ↑ Device Manufacturer Partners for JavaFX by Sun
- ↑ JavaFX Script Programming Reference
- ↑ JavaFX 1.2.1 API bei Oracle
- ↑ Verbreitung von JavaFX
- ↑ Enterprise Platform Trends, H1 2009. Forrester, November 2009.
- ↑ JavaFX 1.0 is live
- ↑ JavaFX 1.3 Veröffentlichung
- ↑ javafx.com
- ↑ Neuerungen in JavaFX 2.0. Netzwelt, abgerufen 13. Oktober 2011
- ↑ [https://blogs.oracle.com/javafx/entry/what_s_new_in_javafx What's new in JavaFX 2.2