JavaFX-Maven-Plugin

Die Entwicklung eine grafischen Oberfläche ist für die Java-Welt eine lange Liste von Rückschlägen und schlechten Nutzererfahrungen. Seitdem JavaFX seiner Kindheit entwachsen ist, gibt es immer mehr Entwickler, die auf den FX-Zug aufspringt und die Urgesteine Swing oder AWT den Rücken zukehren und sich mit JavaFX, FXML und den nativen Darstellungen auseinander setzen.

Ein generelles Problem ist hierbei immer wieder die Verteilung, sprich die (meist installierbare) Auslieferung des Produkts, denn nicht nur die Programme müssen auf die Endkundensysteme, sondern auch die Laufzeitumgebung (z.B. die entsprechende JRE-Version). Um dies etwas zu vereinfachen, hat sich das JavaFX-Team etwas besonderes ausgedacht: den JavaFX-Packager! Mit diesem Tool lassen sich z.B. unter Windows einfach Installer erstellen, die z.B. entweder einen EXE-Installer erstellt, oder aber eine interessantere MSI-Installation (welche sich z.B. für die Verteilung in einer Windows-Domäne besonders gut eignet).

Dieser JavaFX-Packager, mittlerweile generell für Java entwickelt und Java-Packager umgetauft, ist jedoch nur mittels ANT und XML-Konfiguration zu bedienen, was heutzutage bei dem Einsatz von Maven an schon vergessene build.xml-Konstrukte erinnert (und an entsprechende Schmerzen).

Seit April 2015 bin ich nicht nur Contributer für das JavaFX-Maven-Plugin, sondern arbeite auch mit dem originalen Ersteller "Daniel Zwolenski" aus Australien und dem findigen Entwickler "Maxim Dobryakov" aus den Niederlanden zusammen. Gemeinsam helfen wir das Weiterleben des JavaFX-Maven-Plugin zu gewährleisten.

Was ist der aktuelle Stand:

Konfiguration per Mausklick erstellen

Eins der fummeligsten Elemente bei der Verwendung von Build-Tools ist für mich immer die Findung einer passenden und "perfekten" Konfiguration. Damit man nun viel einfacher zu seine Konfiguration kommt (und nicht wie wild in den Dokumentationen wühlen muss), habe ich eine Website entwickelt, die über Github ausgeliefert wird. Das ganze habe ich mit Polymer entwickelt, da ich zu AngularJS nun zum wiederholten Male keinen Zugang gefunden habe (diese "Direktiven" sind ja sowas von unhandlich), allerdings bin ich hier über eine nicht-einheitliche Dokumentation gestoßen (veraltet, nicht mehr gültig, etc.).

Wie stelle ich mir die Zukunft vor:

Stand: März 2016

work in progress