In der letzten Zeit passiert eine ganze Menge in meiner Webseite zu JavaFX, die ich als Begleitinformation zu meinem Buch zu JavaFX führe.
Das überrascht doch mich ziemlich, denn bis vor wenigen Monaten kam JavaFX nicht so richtig in die Gänge. Aber Sun hat die letzte Zeit Einiges nachgelegt, obgleich Vieles noch als Preview oder Beta gehandelt wird.
Letztes ist aber auch ein Problem, wenn man aktuell JavaFX einsetzen will. JavaFX ist m.E. einerseits eine sehr spannende Technologie, andererseits wird da eben noch ziemlich umstrukturiert.
Das betrifft natürlich auch einige Ausführungen in meinem Buch, aber insbesondere die Tools zum Entwicklen von JavaFX.
Es scheint zum Beispiel so zu sein, dass die JavaFX Shell so klammheimlich wieder aus dem Rennen genommen wurde. Der Fokus von der Entwicklung von JavaFX liegt seit einigen Wochen wohl ganz klar auf drei Säulen, von denen man auf jeden Fall auch eine wählen sollte:
1. Eclipse mit dem JavaFX PlugIn
2. NetBeans mit dem JavaFX PlugIn
3. Das neue JavaFX SDK (https://javafx.com/), das aber auch noch zum heutigen Tag als Preview geführt wird.
Ich gehe davon aus, dass die JavaFX Shell für die ersten Versuche mit JavaFX geeignet war, aber nicht weiter entwickelt wurde. Dementsprechend würde ich eben auch dringend dazu raten eine der drei oben genannten Entwicklungstechniken zu verwenden.
Und insbesondere auch über https://javafx.com/ das jeweils aktuelle API zu installieren.
Eine Alternative wäre der openjfx-compiler (https://openjfx-compiler.dev.java.net/). Das erscheint mir – soweit ich mich damit beschäftigt habe – im Grunde eine Art Ablösung für die JavaFX Shell zu sein. So genau blicke ich aber z.Z. ehrlich gesagt noch nicht durch. Ich muss – falls ich endlich mal Zeit habe – mich dringend auch wieder auf den aktuellsten Stand bringen. Der openjfx-compiler ist aber auch noch in einer Betaversion.
Z.Z. warte ich einfach darauf, dass JavaFX endlich mal einen echten Finalstatus hat und dann lohnt sich m.E. wieder eine genauere Beschäftigungen mit dem Tool, dass isch bis dahin durchgesetzt hat.
Und es gibt seit einigen Wochen wie gesagt ein neues SDK (Software Developement Kit) zu JavaFX, das in einem Preview verfügbar ist. Konkret scheint es so zu sein, dass dieses SDK als reine Netbeans-Erweiterung zu sehen ist. Also unmittelbar mit der neuen Version von der Sun-eignen Java-IDE Netbeans synchron geht. Es ist – trotz des Preview-Stadiums – zu empfehlen, für eine JavaFX-Programmierung mit NetBeans auf diese neue Version und das zugehörige JavaFX-Plugin respektive das SDK umzusteigen (natürlich kann man aber auch ohne NetBeans JavaFX programmieren).
Im Konzept der Sprache JavaFX Script gibt es wohl auch ein paar kleinere Entwicklungen bzw. Änderungen gegenüber den bisherigen Versionen. Soweit das bisher einzuschätzen ist, sind dieses Änderungen bzw. Erweiterungen jedoch nicht gravierend, obwohl Sun bei JavaFX Script jetzt teilweise einen etwas anderer Ansatz als bei den ersten Versionen verfolgt.
Es gibt nun Stages und Nodes, die bisher noch nicht so da waren. Gravierend ist, dass man wohl als Kern einer JavaFX-Applikation in der Regel nicht mehr wie bisher ein Frame oder Panel definiert, sondern eine Application.
Ein Grund könnte sein, dass Sun durch die engere Integration von JavaFX in NetBeans diese – nicht zuletzt durch Eclipse in Bedrängnis geratene – IDE wiederbeleben möchte, denn mit NetBeans kann aus einer Application einfach eine Webstart-Anwendung oder ein Applet erzeugt werden (was aber auch schon in den ersten Versionen von JavaFX Script und den frühreren JavaFX-PlugIns für NetBeans möglich war).
Ansonsten scheint JavaFX vom Maketing als auch den Webdemos extrem in Richtung Sivlerlight von Microsoft positioniert zu werden.
Und dann gibt es auch ein Java SE Update. Mit dem neuen Java SE 6 Update 10 verfolgt Sun mehrere Intentionen. Zum einen sollen verschiedene Verbesserungen Applets schneller starten (Stichwort Java Quick Starter). Diese lassen sich in Desktop-Widgets verwandeln. Offensichtlich hat Sun damit Applets immer noch nicht aufgegeben. Im Gegenteil – verschiedene Bestrebungen deuten darauf hin, dass Sun Applets sogar im Rahmen von RIAs reaktivieren will.
Intern wurde das Hochfahren der Java-Runtime so umstrukturiert, dass die mit dem Start einer Anwendung oder eines Applets zusammenhängenden Elemente schneller Ergebnisse produzieren, die auf dem Bildschirm sichtbar sind.
Ein weiteres Merkmal betrifft das Java-Kernel-Konzept. Dabei laden Nutzer in der neuen Version zunächst nur ein Grundgerüst der wichtigsten JRE-Komponenten herunter. Werden von einer Applikation weitere Bestandteile benötigt, werden diese erst später nachgeladen. Das Kernpaket ist nur etwa 4,5 Megabyte groß und reicht für gängige Anwendungen und Applets oftmals bereits aus“
Ein ganz zentraler Kern vom Java SE 6 Update 10 ist auch die Integration von JavaFX für Rich Internet Applications (RIA). Das Release von Java SE 6u10 soll die Deployment-Probleme von JRE und Java-Applikationen beseitigen (es gibt sogar ein neues Deployment Toolkit), die bis dato in Verbindung mit dem Richt-Client-Java die meisten Anwendungen kaum brauchbar machten. Außerdem soll mit Java SE 6u10 die JRE verschlankt werden, wohin gegen JavaFX-Alternativen wie Silverlight und Flash/Flex immer fetter werden. Damit wird Java samt JavaFX zu einer noch wettbewerbsfähigeren Alternative zu anderen RIA-Plattformen.