JavaFX preview highlights critical weaknesses
Potential riches uncertain
The demos available online are similarly underwhelming. Find your way through the bizarre javafx.com website (which obeys no usability guidelines) and you may eventually stumble upon their demos page. Hint: the link is hidden at the bottom right, in grey text on a grey background.
Your perseverance will be rewarded with a grand total of two extremely minimal demos. The poster-child demo involves some underwhelming squares being drawn - the sort of thing that could be done in Flash years ago. The second demo, stock quotes, seems more promising but turns out to be a hardwired table with some static graphs and a nasty white background. You'd expect it to be possible for the table to be sorted or to have a column that can be dragged, to demonstrate the near-effortless ease of use of the table component.
Compare this with Adobe's Flex 3 Dashboard (Flash required) and - well, oh dear. While you're there, compare Sun's rotating squares and Static Quotes demo-ettes with these Flex samples, and you'll quickly see that Sun is in danger of failing to live up to Sun's promises over the long term.
Flex is also currently leading the race with browser integration. One of the main criticisms of Java applets from the early days was that they didn't mix well with the page they're sitting in. A web designer changing the visual style - typeface, line thicknesses, colors and so on - would modify the stylesheet, but the applet would still look the same as before, requiring re-coding, recompiling and redeploying.
The obvious answer would be to add support for external stylesheets to Swing: and this is the approach that Flex takes. The result is sublime, putting control of the application's look and feel in the hands of the web developers.
I asked Sun's JavaFX senior product line manager Jacob Lehrbaum if stylesheet support will be available in JavaFX anytime soon. He sounded as if he really wanted to say "yes", but couldn't make an announcement just yet. Unfortunately, this sums up Sun's effort with JavaFX so far: lots of potential and lots just over the horizon, just out of reach and threatening never to actually come into view.
OK, let's be charitable. This is only a beta and the demos are just that - demos. The real thing should be much better - we hope. JavaFX could, and really should, do well because it offers the chance to have applications run on the desktop and mobile, unaltered. Who can argue with that?
From what I've seen so far, though, JavaFX isn't a viable option when set against the competition, and it has a long way to go. And JavaFX won't be viable until it has its GUI editor - next year. Let's hope there's still a race for Sun and JavaFX to run in by then. ®
Matt Stephens is co-author of Use Case Driven Object Modeling with UML: Theory and Practice, which illustrates how to get from use cases to source code and tests, using Spring Framework, JUnit and Enterprise Architect.