RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


JavaFX Script in Action: Lacking for RIA, Promising for Mobile

How does the new JavaFX Script language fit with existing Swing and Java2D UI development? An experienced Java UI developer breaks down the good, the bad, and the ugly.

ich internet applications (RIAs) are no longer just web applications enriched with various forms of AJAX. The recent introductions of Adobe's Flex/AIR and Microsoft's Silverlight framework mark a trend toward replacing the entire HTML standard in the RIA space with a more or less proprietary runtime, relegating HTML to legacy technology status. The main benefits of this new approach are richer graphical interfaces, easier integration with server-side logic, and therefore a presumably simpler development API.

Sun Microsystems's foray into the RIA space is a new language called JavaFX Script. Under the hood it is basically a scripting language (such as Jython, JRuby, or Groovy) running on the Java VM via JSR 223 (Scripting for the language platform). It was originally developed by a single person, Chris Oliver, who became a Sun employee after it acquired his original employer. Chris is an incredibly gifted developer and it shows in the graphical capabilities and productivity of JavaFX Script. However, the fact that the language did not have a chance to go through any sort of public peer review shows in some of the language design decisions.

As a professional developer who has built user interfaces for corporate applications in everything from Java to Microsoft.Net Windows Forms to PowerBuilder, I was eager to try JavaFX Script. It proved to be mostly a higher-level interface over Java2D and Swing (i.e., everything you can do in JavaFX Script you can also do in Swing, albeit with more coding and more complexity). The following is my complete assessment of the good, the bad, and the ugly of JavaFX Script in its current state.

Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date