Sun today announced the release of the JavaFX platform. So how does it fit into the matrix.
|Plugin Requirements||JRE required, ~9MB download, but probably 30-40 MB on application startup.||
The JRE has a decent install base, but no where near that of Flash. Most people usingJava WebStart/Applets complains about JRE download and startup time.
|Ease of Development for RIAs||Should be comparable to developing Swing applications and allow leveraging of current Java IDEs||Java has plenty of good development tools for it|
|APIs for Visual Display||Not sold on the scripting nature of JavaFX. They probably will need a few releases to make it clean. Based on Swing, an API that few developers are enamored with||Java Swing has the feature set, but is generally a pain in implementation. I would rank it last in this category.|
|Testability||Should be able to leverage Java testing tools|
|Maturity Level||Java WebStart and applets have been around a long time.|
|Developer Community||Server side Java is huge, but client side Java has a very small developer community.||Due to the problems with Swing, I suspect it will be a tough sell for developers to jump on this bandwagon|
overall, it seems to me that JavaFX is in fourth place RIA technology market. That is not a good place to be, especially when you are competing against two software companies in Adobe and Microsoft with proven track records in developing powerful GUI tools.
As an aside, another difference between the JavaFX platform and the Silverlight is Sun’s dedication to the mobile platform. Java running on all devices has been key for Sun since the initial releases of Java. However, Sun again makes a branding mistake. We still have the confusion around J2ME, J2SE, J2EE, similar brand names with vastly different purposes. Making the Java FX platform designed for both RIA web apps as well as mobile device GUIs seems like another attempt at confounding the development community.