Im Herbst trägt man in der Java-Welt dieses Jahr \"11\". Nicht nur Java 11 ist für den September angekündigt, auch OpenJFX 11 soll bereits in etwa drei Monaten der Entwicklergemeinde zur Verfügung stehen. Geht alles nach Plan, könnte die neue JavaFX-Version sogar noch vor JDK 11 in den sprichwörtlichen Läden stehen. Wir haben uns den derzeitigen Informationsstand genauer angeschaut.
Im März veröffentlichte Oracle Java 10. Neben dem damit beginnenden neuen Versionierungsschema bzw. dem neuen Release-Zyklus sorgte eine weitere Meldung für Furore: Donald Smith, Sr. Director of Product Management, kündigte an, dass das Framework JavaFX nicht mehr Teil des JDK 11 sein wird.
Die inititale Folge war ein neuer GitHub Mirror des OpenJFX-Projektes, das seitdem genutzt wird, um die Entwicklung von JavaFX nun außerhalb von Java selbst voranzutreiben. Damit geht das Framework, welches 2007 erstmal veröffentlicht und ab 2012 fester Teil des JDKs war, zukünftig eigene Wege. Den ersten Meilenstein auf diesem Pfad soll nun im Herbst zu einem interessanten Datum erfolgen.
Ein Vorteil der Tatsache, dass JavaFX nun ein eigenständiges und ungebundenes Modul ist, liege in der Freiheit, nicht mehr an die Daten von Java bzw. dem JDK gebunden zu sein, wie Kevin Rushford von Oracle auf der Mailing-Liste betont. Dennoch sei das Ziel, so Rushford, „FX 11“ etwa zum gleichen Zeitpunkt wie Java 11 zu veröffentlichen, ggf. sogar etwas früher.
Der berüchtigte Feature Freeze, also der Zeitpunkt an dem keine Features mehr hinzugefügt werden sollen (auch als Ramp-down-Phase bekannt), soll bereits am 9. Juli beginnen. Für den 6. August ist dann der Beginn der zweiten Ramp-down-Phase geplant, der Freeze für den GAC Build soll exakt drei Wochen später eintreten. Der Zeitpunkt zur Veröffentlichung wurde auf den 18. September festgelegt – allerdings sind alle diese Daten wie immer unter Vorbehalt.
Datum | Phase |
09.07.2018 | Ramp-down-Phase 1 (RDP1) – Feature Freeze |
06.08.2018 | Ramp-down-Phase 2 (RDP2) |
27.08.2018 | Freeze für den GAC Build |
18.09.2018 | Veröffentlichung: JavaFX 11 |
Sollten die vorgeschlagenen Daten für das OpenJFX 11 und auch das JDK 11 wie angekündigt und geplant eingehalten werden, würde die neue Version des Frameworks exakt eine Woche vor Java 11 erscheinen. Die schnellere Veröffentlichung rührt in diesem Fall daher, dass JavaFX generell weniger kleinteilig als Java ist, auch weniger Stakeholder sind an der Entwicklung beteiligt.
Kevin Rushforth macht in seinem Eintrag auf der Mailing-Liste den Vorschlag, die Regeln für die aktuelle Rampdown-Phase an die von den Java Releases bekannten anzulehnen. Er schlägt allerdings zwei Abweichungen vor:
Zum einen soll es während der RDP1 eine Downtime für Forks des Projektes geben. Das heißt, Entwickler können keine Verbesserungen oder neue Fetures pushen, außer sie sind unbedingt notwendig für OpenJFX 11. Ist dies der Fall wäre es möglich, eine Ausnahme zu machen. Zum anderen schlägt er vor, keine Restriktionen bezüglich dem Fixen von P4-Bugs zu verhängen. Zwar glaubt er nicht daran, dass viele P4-Bugs vor der RDP2 gefixt werden können, aber wenn doch ein Bugfix vorgeschlagen, reviewt und getestet worden ist, gibt es seiner Meinung nach keinen Grund, diesen nicht auch zwischen RDP1 und RDP2 einzupflegen.
Da sich verschiedene Komponenten (wie JavaFX eine ist) unterschiedlich schnell entwickeln, ist es laut Java Champion Johan Vos durchaus sinnvoll, die einzelnen Module vom Java-Kern zu entkoppeln:
Der Kern des JDK ist ein wunderbares Kunstwerk, das von sehr talentierten Engineers gepflegt wird. Um die Qualität dieses Kerns insbesondere bei schnellen Release-Zyklen zu gewährleisten, sollten alle Komponenten, die außerhalb des Kerns gewartet werden können, separat gewartet und veröffentlicht werden. Daher ist es nicht verwunderlich, dass die OpenJFX-Module vom Kern entkoppelt werden – es ist eher überraschend, dass es noch so viele andere Module im Kern gibt.
Weitere Informationen zur aktuellen Lage beim OpenJFX-Projekt gibt es auf der Mailing-Liste und natürlich auf der Projektseite bei GitHub. Java Champion Johan Vos hat für JAXenter die Historie und die Entkoppelung des Frameworks vom Java-Kern in einem Fachartikel eingehend besprochen.