In his blog post JavaFX is a Train Wreck, Kirill Grouchnikov expresses frustration at JavaFX not delivering on early promises to make it easy for developers and designers to work together to build compelling user interfaces with JavaFX. His feeling is that there are next to no good examples of real JavaFX applications that take advantage of designer skills and asserts that JavaFX seems to be of some interest to developers but is not very interesting to designers. Kirill is not the first to express dissatisfaction with JavaFX. However, his critique is especially significant because of his obvious experience developing user interfaces and because he seems to have really wanted JavaFX to be something special. This blog post apparently hit a nerve as it quickly soared into the DZone Top Links after I initially saw it featured on Java.net's "Java Today" section (for July 15) and other bloggers have referenced it.
In How Can Oracle Make JavaFX More Popular, James Sugrue also references the JavaFX is a Train Wreck post and asks what Oracle can do to improve JavaFX's popularity. This post is a question intended for developers to answer and the feedback is insightful. Many want to simply "kill" JavaFX and have Oracle reallocate resources to Swing or other technologies. Others want to see it open sourced. Based on the feedback to both the original Train Wreck post and to this Sugrue post, it seems that Java developers in general do not have a positive perception of JavaFX or its future. That's daunting news because it means a reputation is being established that may be difficult to tear down.
Shai Almog has posted a poll based off the just-mentioned DZone poll specifically targeted at mobile developers. Similarly called How Can Oracle Make JavaFX More Popular, Shai asks how JavaFX can be more popular among mobile developers and I think Ryan de Laplante's answer in the feedback probably sums up the answer best: "JavaFX Mobile needs to be available. Where is it? Not on Android. Not on iPhone. Not on BlackBerry. Not on Palm Pre." I admit that I'd probably be more likely to get into JavaFX if it worked on my Droid. This is what I was poking at when I asked Does JavaFX Have a Niche?
Being called a "Train Wreck" wasn't JavaFX's only exposure this week. The two top DZone links as I write this are related to a petition to Oracle requesting that JavaFX be open sourced: Stephen Chin's Petition to Open Source JavaFX (both comments so far favor Pivot over JavaFX) and the original Petition to Open Source JavaFX. Open source success depends heavily on community involvement and/or a strong sponsoring organization, so I'm not certain that open sourcing JavaFX would improve its future. As I stated in the post O JavaFX, What Art Thou?, JavaFX cannot make the argument that it's standard or any more "Java" than other open source frameworks such as Pivot. Being open source does not magically save projects. Oracle could open source JavaFX as it has done with TopLink Essentials/EclipseLink and ADF Faces (Apache MyFaces Trinidad) and several other projects, but my current speculation (and that's all it is) is that JavaFX is more likely to be taken the same direction as Oracle's Application Developer Framework (ADF).
It wasn't all negative this week for JavaFX. Early in the week, the Sun Developer Network (AKA java.sun.com) featured the article Stylin' with JavaFX. There is a small number of ardent JavaFX proponents in the blogosphere and the author of this article, Jim Weaver, may be at the top of that list. The article's introduction talks about JavaFX's CSS support that is meant to "encourage this collaboration" between "designers and developers." The irony, of course, is that it is the lack of greater support for collaboration between designers and developers that led to the "Train Wreck" post.
Despite the enthusiastic and valiant efforts of a seemingly small number of developers who like to use JavaFX, the momentum seems to be moving away from JavaFX. Perhaps it never had momentum because it took so long to deliver anything of real value from its initial announcement at 2007 JavaOne. For now, I cannot justify spending any more time or effort learning JavaFX. Perhaps things will turn around for JavaFX and it will be worth a third look, but I wouldn't bet much on that at this time. JavaOne 2010 may be the next serious look I give to JavaFX, if it's fate is not sealed by then.