What Should Oracle Do With JavaFX?
Max Katz has posted his thoughts on where JavaFX has got it right and where the programming language has got it wrong.
JavaFX has been the subject of much debate this week, and
following up on Kirill Grouchnikov’s controversial blog post on why
JavaFX is a “train wreck,” Max Katz has posted a summary of not only where JavaFX has
gone wrong, but also where JavaFX has got it right.
First up, the good stuff. In Katz’s opinion, JavaFX is powerful
and easy to use, once you get the hang of it, and the JavaFX
binding feature is useful for simplifying UI development. “I have
been working with JSF (JavaServer Faces) since its inception and I
can tell you that using JavaFX Script to build the UI is probably
simpler than using JSF,” he says. In order to switch to JavaFX, you
may be required to learn a new language, but Katz is optimistic
about the time it takes to get to grips with JavaFX, putting a two
day time limit on navigating the learning curve. Also, he makes a
valid point that the other languages for the JVM – Ruby, Scala, JSF
– all require you to learn something new, so JavaFX is not alone
JavaFX may also have limited tooling support, but there is some
evidence that this is changing: NetBeans 6.9 has the JavaFX
Composer; the Exadel JavaFX Plugin for Eclipse is now at version
1.3.3; and IntelliJ have a plugin that supports development of JavaFX
applications with IntelliJ IDE.
Then, there’s the bad stuff – and there’s plenty of it. In
Katz’s opinion, JavaFX’s big failing is deployment. The deployment
of JavaFX is too similar to Java, circa 1995. He cites numerous
problems with JavaFX deployment: browser freezes; animated GIFs
during loading that give you no indication of how the actual
logging process is progressing; and a complete lack of error
messages if the JavaFX app gets into difficulties during loading.
Finding out why an app failed to load, isn’t very friendly to the
non-developer community, and involves launching the Java plugin
console and then going on a exception/error hunt.
He has some advice for Oracle: “if Oracle needs to know how
deployment should work, it’s very easy. Just look at Flash. Make it
as simple and transparent as running a Flash application. That’s
He concludes by advising Oracle to fix the deployment issue with
JavaFX and issue a clear statement of intent on the future of
JavaFX; or open source it and allow the community to take charge of
the programming language. This last suggestion is a timely one – an
petition to open source JavaFX was posted earlier this