Sun introduced JavaFX to the world at JavaOne 2007, touting it as a new way to build rich internet applications, and putting it head-to-head with Microsoft Silverlight and Adobe Flex. Coming to the party last, can Sun produce a winner and make lasting inroads into the rich internet applications space?
The concept looked interesting and Sun promptly went away to work on something that developers could play with. A year and another JavaOne later Sun had released a beta and at the Java Web Users Group in London I saw a demonstration by Peter Pilgrim. Despite Peter’s best efforts it was quickly clear that things were not yet stable, with downloads of the daily build causing daily rework to his demo code.
Now we have the news that JavaFX will go production on December 2nd. And while I’m confident that the release will be stable and reasonably comprehensive in terms of functionality, I can’t help but wonder to what extent JavaFX will be in a position to make an impact in the real world.
Adobe Flex is the defacto market leader in this space with quality tooling and a three year head start over nearest rival Microsoft. Macromedia had a bulletproof reputation that only got better with its purchase by Adobe; any newcomer to the marketplace must aim to produce something at least as good as Flex.
Microsoft’s Silverlight went production in September 2007 but has not made significant inroads. Some of this may be down to the undoubted reluctance of some people to adopt yet another proprietary ’standard’ from Redmond. Some will no doubt be down to tooling – Silverlight developer tools are part of Microsoft’s Visual Studio toolset and therefore require significant investment. But overall I believe that Adobe just has too good a reputation in this space for people to consider switching to an upstart that is just 14 months old and still growing.
So why should Sun have it any easier? Sun has clearly learnt from both Adobe and Microsoft. Although it has beaten its own path – creating a new scripting language JavaFX Script – they are supporting it with free developer tooling and have ensured that existing Java components are easily leveraged. They have already provided plugins for Photoshop and Illustrator that generate JavaFx code, thereby enabling existing Adobe-equipped development shops to try out the new technology with no capital outlay.
JavaFX requires that the end-user be running Java 6 update 10 (updated: we now know that FX will run on Java 5, but the new applet functionality is only available in update 10), also known as the ‘consumer release’, which was released about a month ago and is available for Windows and Linux but not, as yet, for Mac OS X (Sun and Apple are collaborating to get this shipping ’soon’), so making the runtime available is not an issue, especially as update 10 features a just-in-time download approach meaning that the whole JRE does not need to be downloaded in a single hit.
Does this mean that JavaFX will succeed? With everything that Sun has done, particularly with reguard for tooling, I think that it is highly likely that JavaFX will establish a lasting presence provided that quality and stability are there from day one.
The real win will depend ultimately on how successful JavaFX is in getting onto mobile devices. For the first time it appears that Sun is attempting to provide a runtime environment for desktop, browser-based and mobile scenarios that will not require completely separate applications to be written for each. If they can pull this off properly, and I can write a single JavaFX application that will adapt itself to the features and limitations of, and run in, all three environments – then the success of JavaFX is much more assured.
Tags: JavaFX