Monocle und Dirty Bits

JavaFX 14 veröffentlicht: Fokus auf Stabilität und zukunftsweisende Erweiterungen

Dirk Lemmermann

© Shutterstock / jorik

JavaFX 14 ist da und bringt eine ganze Reihe an Bug Fixes und eine überschaubare Menge an Verbesserungen mit sich. Am wichtigsten ist aber wohl, dass auch dieser Release wieder pünktlich und zuverlässig erschienen ist. Es zeigt, dass die neue Release Cadence, das halbjährige Erscheinen von neuen Versionen, gut funktioniert. Änderungen an JavaFX fliessen so stetig und und wohlportioniert in den Alltag der Entwickler ein.

JavaFX 14: Das ist neu

Die Release Notes von JavaFX 14 listen insgesamt sieben Enhancement-Tickets auf. Davon sind eigentlich nur zwei wirklich neue Features: Den Nodes Text und TextFlow wurde ein neues Property spendiert, mit dessen Hilfe man die Grösse für Tabulatoren setzen kann. Zudem gibt es ein neues Property, welches es erlaubt, den Cursor auf Embedded Systems auszuschalten. Zum Beispiel auf dem Raspberry PI. Auf Embedded Systems verwendet JavaFX Monocle als Implementierung des Glass-Windowing-Systems. Dieses zeigte bisher immer den sogenannten Hardware-Cursor an, auch wenn man diesen gar nicht benötigte. Sogenannte Kiosk-Systeme sollten so in Zukunft also professioneller daher kommen.

Die anderen fünf Verbesserungen befinden sich hauptsächlich in der Kategorie „Aufräumen“ bzw. „Technical Debt“. Ein gemeinsam genutzter Code von TableView und TreeTableView befand sich in einer Utility-Klasse und konnte so nicht überschrieben werden. Dies erschwerte die Entwicklung von Erweiterungen. Zwei wichtige Komponenten im beliebten ControlsFX-Projekt konnten deshalb nicht mehr mit Java 11+ eingesetzt werden. Auch die Unterstützung für HTTP/2 in der WebView-Komponente ist nun verfügbar und auf Linux-Systemen wird für Drag & Drop nun auf GTK, anstatt auf GDK gesetzt. JavaFX 14 bringt zudem eine kleine Optimierung im Bereich des Event Dispatching und mit für die sogenannten „Dirty Bits“ von Node und Scenegraph wird ab sofort eine bessere Datenstruktur verwendet.

JavaFX 14: Bugfixes

Man sieht, dass sich der Umfang der Verbesserungen im Rahmen hält. Interessanter sind da eher die Bugfixes. Die Performance beim CSS-Styling wurde stark verbessert, da ein Bug dazu geführt hatte, dass die CSS-Informationen mehrfach redundant ausgewertet wurden. Beim Austausch von grösseren Scenegraph-Strukturen kann sich der Unterschied deutlich bemerkbar machen. Eine Anwendung, die vorher als langsam wahr genommen wurde, kann mit dem neuen Release schnell und professionell wirken. Es wurden in JavaFX 14 auch Grundlagen geschaffen, damit das Zusammenspiel von JavaFX 14 und GraalVM besser funktioniert. Da Gluon federführend bei der Entwicklung von JavaFX ist, liegt es nahe, dass praktisch jeder neue Release Elemente beinhaltet, welche es in Zukunft noch leichter machen werden, JavaFX auch auf iOS und Android laufen zu lassen.

Es wurden außerdem Probleme auf Mac Catalina behoben. Sobald JavaFX-Anwendungen auf Catalina gestartet wurden, erschien eine Warnung an den User, dass die Anwendung Eingaben von allen Anwendungen erhalten möchte. Der Benutzer musste dann dem Java-Prozess explizit erlauben, dies zu tun. So etwas führt natürlich zu einer Verunsicherung beim Anwender. Mit dem neuen Release ist dies Vergangenheit. Auf Catalina gab es zudem Probleme bei den Dialogen zum Laden und Speichern von Dateien. Sobald diese angezeigt werden sollten, stürzte die Anwendung ab. Zu guter Letzt wurden mehrere Null Pointer Exceptions und Memory Leaks behoben.

JavaFX 14 ist, wie man sieht, ein solider Release mit einem starken Fokus auf Stabilität und zukunftsweisende Erweiterungen. Weitere Informationen zu den einzelnen Verbesserungen und Bugfixes gibt es in den Release Notes auf GitHub.

Geschrieben von
Dirk Lemmermann

Nach dem Studium in Deutschland und mehreren Stationen in den USA (Carnegie Mellon University in Pittsburgh, Start-up in Boston) hat sich Dirk Lemmermann als selbständiger Berater und Entwickler in der Schweiz niedergelassen. Der Schwerpunkt seiner Arbeit liegt zumeist auf der Entwicklung von Benutzeroberflächen. Für JavaFX hat er mehrere kommerzielle und Open Source Frameworks entwickelt. Weiterhin schreibt er einen JavaFX-Blog (dlsc.com) und ist ein regelmäßiger Committer im ControlsFX Projekt. Man sieht ihn auch auf Konferenzen sprechen. Einmal im Jahr organisiert er die „JFX Days“, eine spezielle Konferenz für JavaFX Anwender (jfx-days.com). Seit 2019 darf er sich „Java Champion“ nennen.

Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: