The article "JavaFX goes Open Source" was published in the German Java Magazin in May 2013 and discussed JavaFX on iOS and Android with their implementations.
The outlook from May 2013 comes true and showed an architecture diagram, how mobile applications could be created with OpenJFX & OpenJDK by the Java developer community using e.g. RoboVM for iOS.
2. Titelthema JavaFX für iOS und Android
82 www.JAXenter.dejavamagazin 5|2013
von Wolfgang Weigend
Die einzelnen JavaFX-Projekte Glass Windowing Tool-
kit, Image I/O und Hauptbestandteile der Prism Ren-
dering Engine werden durch 138 034 Zeilen Code
repräsentiert, die sich jetzt Open Source wiederfinden.
Die restlichen Codezeilen von Prism, als auch die Web-
und Mediaquellen folgen nach. Damit liegt der Quell-
code nahezu vollständig als Open Source vor, bis auf
javafx-font, der durch direkte Aufrufe zum Betriebssys-
tem im Open-Source-Code ersetzt wird. Dies steht be-
reits auf der Aufgabenliste vom Projekt OpenJFX.
iOS- und Android-Implementierungen werden Open
Source
Den Interessierten ist nicht verborgen geblieben, dass
gezielte Umfragen zum Bedarf von JavaFX mit Unter-
stützung für Tablets und mobile Betriebssysteme zum
Jahreswechsel stattgefunden haben. Die Auswertung
der Befragung hat ergeben, dass sich die Mehrheit
der Entwickler an einem iOS/Android Port beteiligen
möchte, sei es durch Bug-Reports oder mittels direkter
Codebeiträge. Dies nahm das Java-Produktmanage-
ment zum Anlass, die notwendigen Voraussetzungen
dafür zu schaffen, dass der JavaFX-Code als Open
Source verfügbar ist und die Java-Community daran
arbeiten kann. Eine wesentliche Maßnahme besteht da-
rin, den Build- und Test-Set-up so zu verbessern, dass
sich das Erzeugen und Testen von JavaFX Fixes für die
Entwickler stark vereinfacht. Die Priorisierung eines
vereinfachten Build- und Testsystems führt dazu, dass
das Projektteam wesentlich schneller Codebeiträge an-
nehmen kann. Die ersten Bestandteile für iOS liegen vor
und die restlichen Komponenten für iOS und Android
kommen zum selben Zeitpunkt wie die restliche Ko-
dierung von Prism, da hierbei zeitliche Abhängigkeiten
bestehen. Beide Portierungen basieren auf einer bisher
unveröffentlichten Version von Java SE Embedded für
iOS/Android.
Lizenzierung mit eigenem Applikations-Co-Bundle
Die Lizenzierung von Apple iOS im App Store erlaubt
keine GPL-Lizenzierung für Applikationen. OpenJFX
und OpenJDK sind jeweils über GPLv2 mit Classpath
Exception lizenziert. Bei Verwendung von OpenJDK
und OpenJFX, ohne die Binär-Stubs mit unterschied-
licher Lizenzierung, besteht die Möglichkeit in der
Kombination von OpenJDK und OpenJFX eine eigene
Applikation, unter eigener Lizenz, als einzelnes Applika-
tions-Co-Bundle herauszubringen. Die gleiche Möglich-
keit besteht mit den offiziellen Versionen von JavaFX
und Java SE. Im Unterschied dazu befinden sich der-
zeit iOS und Android nicht auf der offiziellen Release-
Roadmap für JavaFX, sodass in der Zwischenzeit der
einzige Weg zur binären Verfügbarkeit von JavaFX auf
iOS über OpenJDK und OpenJFX führt. Damit sind die
Möglichkeiten beim Erschließen neuer Ports mit Open
Source größer und es beschreibt auch das hohe Enga-
iOS- und Android-Implementierungen
JavaFX goes
Open Source
Seit der Vorstellung von JavaFX 2 auf der JavaOne 2011 hat die strategische Technologie für Client-
webanwendungen von Oracle eine stetig steigende Zahl von Entwicklern begeistern können. Im Herbst
letzten Jahres wurden erste namhafte JavaFX-Anwendungsbeispiele vorgestellt, dicht gefolgt von wei-
teren neuen Geschäftsanwendungen, die künftig mit JavaFX 8 realisiert werden können. Nun geht die
bislang proprietäre Technologie JavaFX vollständig in Open Source auf.
3. TitelthemaJavaFX für iOS und Android
83www.JAXenter.de javamagazin 5 |2013
gement, den Open-Source-Prozess von JavaFX mit ma-
ximaler Priorität voranzutreiben. Mit dem Aufbau von
OpenJFX ohne Binär-Stubs kann die Entwicklergemein-
schaft keiner daran hindern, das OpenJFX mit dem iOS
Port und OpenJDK zu verwenden, darauf kommerzielle
Applikationen zu entwickeln und diese im Apple iOS
App Store anzubieten (Abb. 1).
Ausblick und Fazit
Die große Zustimmung der Entwickler, den entschei-
denden Anteil zur Portierung von JavaFX auf mobile
Endgeräte mit iOS und Android zu erbringen, gepaart
mit dem positiven Feedback der Kundenumfrage, lässt
schlussfolgern, dass die Entwicklergemeinschaft in der
Lage ist, mit OpenJDK, OpenJFX, iOS und Android,
eigenständige Open-Source-Beiträge zur Laufzeitumge-
bung von JavaFX auf den mobilen Betriebssystemen iOS
und Android zu leisten.
Oracle legt den Quellcode der JavaFX-Bibliotheken
mit den Arbeiten an den Prototypen für iOS und An-
droid als Open Source offen. Die darunter liegende Vir-
tual Machine und die Java-Core-Bibliotheken-Ports für
iOS und Android werden nicht als Open Source zur Ver-
fügung gestellt. Dies ist mit dem geschützten Java Port
für ARM-Prozessoren vergleichbar.
Für Entwickler ist es deshalb notwendig, die offenen
JavaFX-Bibliotheken für iOS oder Android zu testen,
indem sie ein Subset vom OpenJDK verwenden und die
VM auf iOS/Android portieren. Eine weitere Möglich-
keit besteht darin, eine Third-Party-VM-Implementie-
rung für ARM-basierte Prozessoren zu benutzen. Damit
können sich die Entwickler auf die JavaFX-UI-Biblio-
theken-Interfaces mit Blick auf iOS und Android kon-
zentrieren, ohne sich um tiefgreifende Abhängigkeiten
einer Implementierung von ARM-basierten CPUs mit
iOS und Android kümmern zu müssen.
Die einheitliche Java-Entwicklungsplattform mit den
Entwicklungsumgebungen Eclipse (e(fx)clipse), IntelliJ
IDEA, NetBeans und anderen in Kombination mit Ja-
vaFX, ermöglicht die übergreifende Erstellung von An-
wendungen für den Smartphonemarkt, in dem Android
Global Smartphone Marktanteil % 4. Quartal 2012 Gesamtjahr 2012
Android 70,1 68,4
Apple iOS 22,0 19,4
Andere 7,9 12,2
Summe 100 % 100 %
Tabelle 1: Global Smartphone Operating System Shipments and Market Share Q4 2012 (Quelle: Agentur Strategy Analytics)
Global Smartphone OS Shipments (Stückzahlen
in Millionen)
4. Quartal 2012 Gesamtjahr 2012
Android 152,1 479,0
Apple iOS 47,8 135,8
Andere 17,1 85,3
Summe 217,0 700,1
Abb. 1: Mobile Applikation mit OpenJFX und OpenJDK
und iOS insgesamt 87,8 Prozent Marktanteil im gesam-
ten Jahr 2012 belegten (siehe Studie der Agentur Strate-
gy Analytics, Tabelle 1). Folglich lohnt es sich, dass die
Entwicklergemeinschaft den Open-Source-Prozess von
JavaFX nutzt und die Portierung für iOS und Android
in die eigenen Hände nimmt.
Wolfgang Weigend arbeitet als Sen. Leitender Systemberater bei
der Oracle Deutschland B.V. & Co. KG. Er beschäftigt sich mit
Java-Technologie und -Architektur für unternehmensweite Anwen-
dungsentwicklung.
Links & Literatur
[1] http://fxexperience.com/2013/02/february-open-source-update/
[2] http://tomsondev.bestsolution.at/2013/02/13/thoughts-on-javafx-for-
android-and-ios/
[3] http://www.oracle.com/technetwork/java/javafx/documentation/
index.html
[4] http://jdk7.java.net/fxarmpreview/index.html
[5] http://openjdk.java.net/projects/openjfx/
4. Alle Printausgaben frei Haus erhalten
Intellibook-ID kostenlos anfordern
(www.intellibook.de)
Mit der Intellibook-ID kostenlos in der App
anmelden und Zugriff auf alle Ausgaben des
Java Magazins erhalten (+ Bonusinhalte!)
JAVA3
Jetzt 3 Top-Vorteile sichern!
TM
www.javamagazin.de
1
Mit der Intellibook-ID kostenlos in der App2
Zugriff auf das
komplette PDF-Archiv
mit der Intellibook-ID
3
JAVAJAVAJAVA
Jetzt abonnieren!
www.javamagazin.de