Sun's new rich Internet application framework should be a hit with Java developers, but the promising preview trails Adobe Flex/AIR and Microsoft Silverlight
Sun Microsystems recently unveiled the first public beta of its JavaFX framework for RIAs (rich Internet applications). There's a lot to like about the new SDK. It's rich in capabilities, and its Java-like syntax makes it a good springboard to RIAs for Java developers. But even in Java shops, Sun and JavaFX are behind not just one eight ball but two. Heavyweight competitors Adobe and Microsoft, with Flex/AIR and Silverlight, respectively, offer RIA toolsets that are not only far more mature but also include tools that bridge the all-important gap between designers and coders.
The freely downloadable JavaFX Preview SDK bundles the JavaFX compiler and runtime, the NetBeans IDE, and a NetBeans plug-in for coding and debugging in the new JavaFX Script language. The IDE gives developers a decent palette of widgets for layout, animation, and input device listeners (the screen image also shows a running JavaFX application), and Sun has thoughtfully included a good number of coding samples and templates.
[ See the Test Center reviews of Adobe AIR 1.0, Adobe Flex Builder 3.0, and Microsoft Silverlight, as well as our special report on rich Internet application and AJAX toolkits. ]
Java developers will no doubt find the declarative syntax to make for speedier UI development and, ultimately, more appealing interfaces than flat Swing calls. Interestingly, Sun has eschewed the XML-based abstraction favored by, well, every other major RIA vendor. Although I prefer XML for its clean interface declaration, there is something to be said for the less-verbose, code-centric approach taken in JavaFX.
To help sync design and development, Sun provides an Adobe Illustrator plug-in to export JavaFX assets, and one for Photoshop is on the way. But designers need to look to third-party upstart efforts, such as ReportMill's JFXBuilder, for even rudimentary visual layout tools. Adobe and Microsoft have gone further.
Compared to Adobe Flex and Microsoft Silverlight, JavaFX is also relatively inefficient. In my testing, a lot of code went into building even a simple app, and launching an application was slow going, requiring runtime and library downloads. JavaFX also burned though processor cycles; running even simplistic animations pushed my 3GHz Intel Core 2 Duo to 32 percent utilization.
There are other disappointments. JavaFX apps cannot be directly embedded into HTML but must be launched as applets or from the desktop via Java Web Start. The Preview SDK lacks streaming video codecs, though On2 Technologies has been tapped to fill that gap for the final release. Unlike Adobe AIR, JavaFX provides no access to the host file system. And finally, Windows and Mac OS X are the only platforms supported today.
But the JavaFX SDK is only a preview edition -- and a good one, at that. With Version 1 not set to launch until the fall, Sun still has some time to shine up this project. Easy integration with existing Java apps should make JavaFX an immediately attractive option for creating enterprise dashboards or bringing a modern look to Java relics. How far Sun's mature technology stack and the long reach of Java can take JavaFX against Adobe and Microsoft remains to be seen, but the Java camp finally has a heavyweight in the RIA game. It's long overdue.
Those of you who signed up for the Windows 10 upgrade but changed your mind may be able to crawl out
You may be better off sticking with Win7 or Win8.1, given a wide range of Win10 trade-offs and...
Samsung's throwing another phablet into the ring, but this one's curved on both sides
Having trouble installing and setting up Win10? You aren’t alone. Here are a dozen-plus of the most...
Cisco’s new CEO is doubling down on the Internet of things and making software the star of the show ...
The once red-hot database technology is losing its luster and may have reached its peak adoption point ...
After a long wait, the next version of the Perl programming language will undergo a few betas, followed...