Sun Microsystems rolls out JavaFX to challenge Adobe AIR, Flex and Microsoft Silverlight, in the highly competitive rich Internet application space.
The JavaFX platform shows promise of being a very important player in the burgeoning RIA category, and it compares very well with the 1.0 releases of Adobe’s and Microsoft’s RIA platforms. However, both of those platforms are much more mature, and Sun will have to move quickly to keep JavaFX from constantly being behind the other RIA platforms in terms of features and capabilities.
To get started developing with JavaFX, I went to www.javafx.com and downloaded all of the different free tools for building JavaFX applications. These tools include NetBeans IDE 6.5 for JavaFX 1.0, the JavaFX 1.0 Production Suite and, of course, the JavaFX 1.0 SDK.
The JavaFX 1.0 Production Suite basically consists of plug-ins for Adobe’s Photoshop and Illustrator that mainly just let graphics workers save their work for use in JavaFX applications. For classic developer types, Sun also offers a JavaFX plug-in for the Eclipse development environment.
The closest thing to a pure JavaFX tool that Sun provides is the NetBeans IDE 6.5 for JavaFX 1.0. Anyone planning on using the tutorials and samples to become familiar with building JavaFX applications will need to get and install this application.
In general, I found NetBeans IDE 6.5 for JavaFX 1.0 to be a handy tool for learning how to build and edit JavaFX applications. Working hand in hand with the included sample code and the tutorials available at www.javafx.com, I was able to build several simple JavaFX applications.
The JavaFX script code itself is a fairly clean declarative syntax that should be familiar to any developer who has worked in other RIA platforms, who develops AJAX Web code or who works with other advanced Web development systems. The broad set of tools also makes it easier for graphics-oriented developers to work in conjunction with classic Java developers.
JavaFX includes features for using and integrating media such as video and audio into applications, but these capabilities are very basic when compared with the much more robust and flexible media capabilities in the Adobe platforms. Basically, it lets developers add and play media, but those developers can’t work with it in any truly customisable way.
Despite the promise of mobile application development with JavaFX, for now developers are limited to what-if scenarios with the Sun platform. The mobile emulator built into the NetBeans IDE let me build sample JavaFX applications and get a very simple idea of how they would work, but not much more than that. The emulator itself is very basic and doesn’t allow for much device-specific testing. Sun officials have said that mobile support will be released sometime in the spring of 2009.
Right now, JavaFX 1.0 is just getting started, and one could argue that this is really more of a beta release. However, given the potential of the platform, it is worth evaluating for developers interested in additional ways to build and deploy RIAs, especially in areas where the more robust capabilities of Java itself will pay off.
Java has always had many of the aspects of RIAs, and JavaFX offers several benefits, including use of the Java run-time and the underlying Java code. However, while Java has a strong presence in mobile apps development, JavaFX 1.0 currently does not support mobile platforms.