JavaFX preview highlights critical weaknesses
Potential riches uncertain
The big question with Java FX is why anyone would want to adopt it when they've already got Adobe Systems' Flex and Microsoft's Silverlight, which is doing rather well in presenting the Beijing Olympics.
On paper, the most compelling feature could be the most difficult one for Sun to pull off: the ability to run the same JavaFX app unaltered on both Java Standard Edition (Java SE) and Java Micro Edition (Java ME) runtimes.
The Laszlo factor
Whether this pseudo-multi-platform approach turns out to be practical in the long run is another matter. Any program of a significant size is bound to step outside the rosy JavaFX garden and make use of the "core" Swing and Java APIs, shackling it to your desktop. We won't find out to what extent Sun can achieve their lofty ambition until Java ME support appears, which at the last estimate is Spring 2009.
As far as this preview release goes, tools remain both JavaFX's strength and weakness. NetBeans 6.1 with its JavaFX plugin and Java 6 Update 10 (currently in beta) together offer a compelling development and deployment platform for rich client applications.
The NetBeans plugin has a nice live preview feature in which any change to the code causes a recompile and re-view of the applet. Nice to see, but I could imagine most developers switching this off soon after the initial "ooh aah" reaction - and after their code size goes beyond, say, 10 lines.
The lack of a GUI editor until at least Spring 2009 could well be the clincher for developers weighing up between Flex and JavaFX.
Sun claims to be working closely with third parties to provide rapid application development (RAD) tools in addition to the NetBeans visual editor and - apparently - we can also expect an Eclipse add-in, although I couldn't get a clear answer from Sun on a release date when I asked. Providing vague hints about the cloudy future is not a good way to win developers' hearts and minds.
No match for Adobe: a JavaFX demo app
New in the preview release is a sample weather application: at last, JavaFX is starting to look the part. Unfortunately, "the part" in this case is some disappointingly jagged text and some animated clouds, which slow to a crawl if you leave the app running for more than a few minutes. The Today/Tomorrow switch is a little odd, too. Click on Today, and the display switches back to Tomorrow after less than a second - in time with the cloud animation, in fact.