JavaFX: Warten auf die große Acht

Claudia Fröhling

„Bezeichnend ist, dass die größten Skeptiker nicht von den Mitbewerbern, sondern aus dem eigenen Lager – der Welt der Java-Entwickler – zu kommen scheinen.“ Dieses Zitat stammt von unserem JAX-Speaker Lars Röwekamp und ist knapp fünf Jahre alt. Ahnen Sie, worum es geht? Richtig, die UI-Technologie JavaFX. Die JAX präsentiert dieses Jahr zum ersten Mal einen ganzen Special Day zu JavaFX – und das ist auch gut so.

In den letzten fünf Jahren hat sich viel getan. Oracle hat JavaFX von Sun Microsystems übernommen und (überraschend für viele) nicht direkt begraben, sondern weitergeführt. Umgekrempelt. Mehr Ressourcen dafür abgestellt. Das Ergebnis ist eine Technologie, die mit dem Ursprungsprojekt von 2005 nicht mehr viel zu tun hat und die sich als ernst zu nehmende Alternative zu HTML5, Swing und Co. präsentiert. Ein bisschen Geschichte gefällig? Dann stöbern Sie doch einmal in unserer großen Grafik zur Geschichte von JavaFX – hier geht es direkt zum PDF.

Aber warum anvanciert eine schon totgeglaubte Technologie plötzlich zu einer richtigen Alternative, wenn es um User Interface Design geht? Wir sprachen mit JAX Speaker Gerrit Grunwald, Skeptiker der ersten Stunde und mittlerweile großer Fan. Er ist überzeugt, dass Oracles Commitment die Technologie so voranbringt: Milestones werden eingehalten, Roadmaps sind klar einsehbar und werden befolgt, das Team ist, so Gerrit, „sehr kontaktfreudig“ geworden.

Zur W-JAX testeten wir erstmals einen JavaFX-Workshop, nach dessen riesigem Erfolg haben wir das Programm zur diesjährigen JAX erweitert und einen ganzen Special Day rund um die UI-Technologie geplant. Moderiert von CaptainCasa-Chef Björn Müller ging es am ersten Hauptkonferenztag um Pro und Contra JavaFX. Adam Bien schilderte zum Auftakt in seinem Talk „Enterprise JavaFX 8“ seine ersten Gehversuche mit der Technologie. „Das geniale an JavaFX ist, wie XML und Inversion of Control genutzt wird“, so Adam. Zuerst habe er nicht verstanden, warum man plötzlich wieder alte Konzepte rauskrame, aber nach dem Bau der ersten eigenen Anwendungen habe er es verstanden und für gut befunden.

Inversion of Control ist ein altbekanntes Paradigma für jeden, der sich mit Objektorientierung beschäftigt: es geht um die Steuerung der Ausführung von Unterprogrammen. Im Falle von JavaFX sei genial, dass man so gut wie nie „hard coden“ müsse, um etwas zu verändern, so Adam. Der Body wird gebaut, der Rest lässt sich durch CSS-Dateien etc. „on the fly“ regeln.

Unbrauchbar für Geschäftsanwendungen?

Einen sehr erfrischenden und auch überraschenden Talk präsentierte Karsten Lentzsch: Er kommt aus der Swing-Welt und schult Firmen bei der Umsetzung von Geschäftsanwendungen. Zu Beginn stellte er gleich klar: Swing mag er so wenig, wie ein Zahnarzt schlechte Zähne mag! Aber es war immer sein Job, in Swing-Projekten Feuer zu löschen, und so hatte er gehofft, mit JavaFX endlich keine schlaflosen Nächte mehr zu haben. „Da wurde ich enttäuscht“, so Karsten in seinem Talk.

Seine Kritik: Effekte sind ein zentrales Element in JavaFX, nur braucht man diese für Geschäftsanwendungen so gut wie gar nicht. Außerdem sei der Komponentensatz im Vergleich zu anderen Toolkits wie beispielsweise Sencha viel zu klein für zeitgemäße Anwendungen. Es gebe nur Basis-Layouts, die für Profis unbrauchbar seien.

Positiv in JavaFX bewertet er dagegen die einfachen Konzepte, das pure Toolkit und die zeitgemäße Rendering Engine. In den großen Geschäftsanwendungen seiner Kunden sieht er JavaFX dennoch (noch) nicht.

Moderator Björn Müller schließlich stellte in seinem Talk eine wichtige Frage: JavaFX oder HTML5 – was soll ich verwenden, was ist für mein Projekt die richtige Wahl? Hier ist natürlich als erstes die Frage zu stellen, was gebraucht wird, und dann die richtige Technologie für den richtigen Job zu wählen. Und wer sagt, dass man nicht beides machen kann? Sollten Sie den Talk verpasst haben, empfehlen wir Björns JAX-Countdown-Interview „CaptainCasa stellt sich vor: RIA Framework setzt auf JSF und JavaFX“ sowie den Artikel im Java Magazin 5.13, in dem er diese Fragen noch einmal detailliert erläutert.

Im Laufe der Woche sind übrigens noch mehr JavaFX-relevante Talks geplant, wärmstens zu empfehlen sind die Vorträge von Sven Efftinge und Tom Schindl zu e(fx)clipse und Xtend in Kombination mit JavaFX. e(fx)clipse entstand aus der Not heraus, dass JavaFX in der frühen Phase zwar mit NetBeans entwickelt werden konnte, dass aber ein ordentliches Tooling für die Eclipse-Welt fehlte. Tom Schindl hat sich diesem Problem angenommen und damit den Startschuss für eine großflächige Adoption der JavaFX-Technologie in der Eclipse-Community gegeben.

Still not there yet

Und jetzt? Wird es Zeit für Sie, alles stehen und liegen zu lassen und Ihre Anwendung ASAP auf JavaFX zu migrieren oder mit JavaFX zu konzipieren? Immerhin ist die offizielle Mitteilung von Oracle, dass Swing nicht mehr weiter entwickelt wird. Swing wird deprecated und jeder, der diese Technologie in seinem Unternehmen einsetzt, muss sich über kurz oder lang Gedanken über die Zukunft machen. Migriere ich zu JavaFX, baue ich eine neue JavaFX-Anwendung oder wähle ich einen ganz anderen Weg, zum Beispiel in Richtung HTML5.

Wer sich mit dieser Frage auseinandersetzen muss, dem muss auch klar sein, dass JavaFX aktuell noch nicht für jeden Anwendungsfall geeignet ist. Das bestätigen auch unsere Experten: Anfang 2014 wird Java 8 (hoffentlich) kommen und damit auch JavaFX 8, und diese Version wird viele Änderungen mit sich bringen und voraussichtlich abwärtskompatibel sein. Bis dahin bleibt JavaFX das, was es die letzten acht Jahre auch schon war: eine Spielerei, ein Nice-To-Have. Ignorieren kann man es aber sicher nicht, das beweisen nicht zuletzt die 50+ Teilnehmer des JavaFX Workshops am vergangenen Montag und die überfüllten Räume im JavaFX Day.

Geschrieben von
Claudia Fröhling
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.