Sun Microsystems recently released the JavaFX Preview SDK. I decided to revisit what is Sun's last, best hope to recapture both the desktop and the browser in the face of stiff competition.
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
To achieve this, Sun is taking a Laszlo-like approach - Laszlo allows the same program to run in the browser using a JavaScript base or a Flash base. The Java SE runtime renders using Swing components, for example. It would truly be a top achievement from Sun if the same JavaFX program could run unaltered on your mobile phone and desktop.
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.




Over at The Register