Getty Images

Warum sollte man JavaFX im Jahr 2025 noch verwenden?

Als modernes Framework tritt JavaFX mit einer großen Community und vielen aktiven Projekten auf. Hier sind Ressourcen, um Ihr Wissen zu vertiefen und Inspiration zu finden.

JavaFX hat seit seiner Einführung eine bemerkenswerte Wandlung durchgemacht und sich von einem experimentellen UI-Scripting-Framework zu einer ausgereiften, funktionsreichen Plattform für die Entwicklung von Benutzeroberflächen für Desktop- und plattformübergreifende Java-Anwendungen entwickelt. Es ist klar, dass JavaFX, nicht Swing, heute die bevorzugte Wahl für die Entwicklung moderner Benutzeroberflächen ist.

Eine Überprüfung des aktuellen Zustands des Ökosystems zeigt der Java-Welt, wie JavaFX seine Position in einer bedeutenden Nische gestärkt hat und viele der Einschränkungen beseitigt, die seinen Vorgänger Swing plagten.

Langfristige Unterstützung und Early-Access-Builds

OpenJDK und OpenJFX, die Open Source GitHub-Projekte, in denen Java und JavaFX weiterentwickelt wurden, folgen demselben Veröffentlichungszyklus mit zwei neuen Versionen pro Jahr (im März und September). Version 23 ist die aktuelle Version, Version 24 erscheint im März 2025, wobei Builds mit frühem Zugriff bereits verfügbar sind.

JavaFX ist auch mit früheren Versionen des JDK kompatibel. Beispielsweise erfordert JavaFX 23 Java 21 – die aktuellste LTS-Version (Long-Term Support) von Java mit Support bis September 2026 – oder eine neuere Version.

Verwendung von Scene Builder mit JavaFX

Wenn ein Entwickler eine JavaFX-Benutzeroberfläche erstellt, gibt es die Möglichkeit, einen reinen Code-Ansatz zu wählen und jedes visuelle Element in Java zu erstellen oder das Layout in einer XML-Struktur in einer FXML-Datei zu definieren.

Für diejenigen, die FXML-Dateien erstellen möchten, empfehle ich den WYSIWYG-Editor Scene Builder. Seine Drag-and-Drop-Benutzeroberfläche ermöglicht Entwicklern das Entwerfen mit schnellen Iterationen. Die Trennung des Designs in einer FXML-Datei und der Logik in Java-Code ermöglicht es den Teammitgliedern, sich schnell und einfach auf ihre spezifische Entwicklungsaufgabe zu konzentrieren. Scene Builder wird aktiv gepflegt und verwendet selbst die neueste Version von JavaFX.

Scene Builder
Abbildung 1: Mit dem WYSIWYG-Editor Scene Builder können Programmierer visuelle Elemente in Java erstellen und Layouts in einer XML-Struktur definieren.

JavaFX-Community

Eine der größten Stärken von Java ist seine Community. Für jede mögliche Frage finden Sie online zahlreiche Tutorials und Hilfe, und es gibt eine Vielzahl von Bibliotheken, mit denen sich fast alle Aufgaben lösen lassen. Das Gleiche gilt für JavaFX.

JFXCentral

JFXCentral, entwickelt vom Berater Dirk Lemmermann, sammelt alle JavaFX-Informationen an einem zentralen Ort. Hier finden Sie die Personen, die zur JavaFX-Community beitragen, eine lange Liste von Bibliotheken, Tutorials, Beispiele aus der Praxis für JavaFX-Anwendungen und andere hilfreiche Ressourcen.

Die Website selbst wurde ebenfalls mit JavaFX erstellt und basiert auf demselben Code für Desktop und iOS (an Android wird noch gearbeitet), nur der Entwicklungsprozess ist anders. Die Codebasis für dieses Projekt ist auf GitHub verfügbar. Alle Daten von JFXCentral werden in einem anderen öffentlichen GitHub-Repository verwaltet, sodass Sie Ihre eigenen JavaFX-Inhalte beitragen oder die vorhandenen Daten verbessern können.

JFXCentral
Abbildung 2: JFXCentral sammelt und veröffentlicht verschiedene Informationen und Ressourcen zu JavaFX.

Foojay

Ein weiteres Community-Projekt mit vielen JavaFX-Inhalten ist Foojay.io, die Website der Friends of OpenJDK. Diese Website konzentriert sich auf Blogbeiträge von über 250 Autoren mit ein bis drei Artikeln pro Tag zu verschiedenen Themen im Zusammenhang mit der JVM. Sie bietet auch einen Podcast zu JVM- und entwicklerbezogenen Themen, darunter das JavaFX-Framework und -Bibliotheken, die Spieleentwicklung mit Java, JavaFX und FXGL sowie Zusammenfassungen von JavaFX-Projekten und -Meetings.

Bücher

Es gibt viele Bücher, in denen man mehr über JavaFX erfahren kann. Ich möchte zwei davon hervorheben:

Programmieren zum Spaß

Von Zeit zu Zeit nimmt sich der Autor zusammen mit seinem Sohn ein Lieblingsprojekt vor, um eine App zu entwickeln, von der sie hoffen, dass sie ihn eines Tages reich machen wird, und die dem Autor in der Zwischenzeit dabei hilft, etwas Neues zu lernen.

Im Jahr 2024 begannen sie mit der Arbeit an MelodyMatrix, einer App, die Musik mithilfe der MIDI-Daten von Musikinstrumenten wie einem Klavier visualisiert. Sie nutzen dieses Projekt, um Kotlin zu lernen, und kombinierten es mit JavaFX. Ein Teil des Codes ist als Open Source verfügbar.

Sie hoffen, dass es als Inspiration dienen kann, Daten auf unterschiedliche Weise zu visualisieren, und das Interesse an JavaFX als Framework zur Erstellung von GUI-Anwendungen weckt.

JavaFX-Projekte

Konferenzsitzungen präsentieren alle Arten von Anwendungen und Frameworks, aber JavaFX ist in der Regel unterrepräsentiert. Dies liegt zum Teil daran, dass Unternehmen es häufig für interne Anwendungen verwenden; sie betrachten es als Teil interner Prozesse oder Geheimnisse oder als etwas, das sensible Daten enthält, und daher dürfen Entwickler nicht darüber sprechen.

Um diese Diskussionen zu fördern, hat sich eine Gruppe von Mitgliedern der JavaFX-Community auf der Devoxx 2023 in Belgien versammelt, um einige Anwendungsfälle aus der Praxis zu diskutieren. Diese JFX In Action-Interviews zeigen eine Vielzahl von Tools und Anwendungen, die mit JavaFX entwickelt wurden und von denen viele kostenlos genutzt werden können. Beispiele hierfür sind:

  • Allgemeine Anwendungen. PDFsam, JabRef.
  • Unternehmensinterne Anwendungen. Credit Europe Bank, Network tester, TGUT.
  • Entwickler-Tools. Swaggerific, XPipe, SDKman UI, LogoRRR.
  • Mobile App. FxCalculator.
  • Java-Tools und -Bibliotheken. FXThemes, FXComponents, Quarkus FX, FXGL, jDeploy, Conveyor.

Erfahren Sie mehr über Softwareentwicklung