an Francisco, Calif.?Sun crossed the open source Java finish line when it announced it was releasing the remaining bits of the Java SE (Standard Edition) Development Kit under version 2 of the GNU General Public License here at the 2007 JavaOne Conference last week. Meanwhile, its other big announcement, JavaFX, largely was not even out of the starting blocks. The vision of JavaFX is intriguing: a family of tools on a unified development model that enable creative non-programmers to create rich visual interfaces that leverage Java’s graphical libraries without needing to understand the programming details in the plumbing.
The web designer and GUI artist types who would use the JavaFX offerings mark a new audience for the Java platform giant. “Java made hard things easy to do and made it impossible to do easy things,” said Father of Java James Gosling at a pre-JavaOne press event. He explained that JavaFX is targeting users beyond Java developers, who previously had been the only ones able to exploit the full power in Java.
However, of the two debut JavaFX releases at JavaOne, JavaFX Script and JavaFX Mobile, only JavaFX Mobile was ready for prime time. While JavaFX Mobile is a complete mobile software stack based on proven technology, JavaFX Script is a language that needs some refinement and tooling before it can graduate from an alpha project.
Based on the intellectual property assets Sun acquired from SavaJe Technologies, maker of the SavaJe Mobile Platform that ran the “Device of the Show” at last year’s JavaOne, the JavaFX Mobile stack comes with a Linux kernel and is targeted at supporting rich interfaces on devices ranging from PDAs to feature phones. JavaFX Mobile offers built-in support for Java’s APIs and core libraries, allowing for consistency across Java-powered devices.
JavaFX Script, formerly the F3 programming language created by Sun engineer Chris Oliver, is a scripting language geared specifically for building rich internet applications (RIAs) on the Java SE platform. To show the language’s capabilities, Sun at two first-day general sessions presented the same demo: two rich web sites (Motorola’s StudioMoto and Tesla Motors.com) that Oliver recreated with JavaFX Script. Visually, the JavaFX Script versions had all the graphical effects of the originals. A comparison of the JavaFX Script necessary for a particular visual asset and the equivalent lines of Java code showed JavaFX Script to be much more laconic, and therefore faster for UI development. In fact, according to Sun Oliver was able to complete his mock sites in a matter of days.
However, one look at the development “tool” used in the demonstration?a rudimentary two-paned editor called JavaFX ScriptPad?showed just how alpha the language is and just how far Sun is from realizing its JavaFX vision. The Chris Oliver’s of the world (i.e., experienced Java 2D and Swing developers) may be able to jump right in and start creating, but the content professionals Sun is targeting with this new product family will need much more help. The requisite JavaFX authoring tools for this new audience are still so far in the future that Sun Software Chief Rich Green refused to commit to even a tentative release timetable during his post-keynote press conference. And Sun is soliciting feedback from the community to help define what the tools will be.
Why would Sun rush a language that is not ready for beta?let alone prime time?out onto the JavaOne stage? Well, JavaOne was on the heels of Microsoft’s MIX07 Conference, where its Silverlight cross-browser plug-in for .NET-based RIAs garnered much attention. Just weeks before that, Adobe Systems announced its Apollo cross-OS runtime for RIAs on the desktop. Not only did Microsoft and Adobe make their announcements before Sun, but the tooling for their respective products also is well ahead. Microsoft offers its Expression Studio suite of web and media creation products for designers and developers, while Adobe of course has Flash Player in nearly all browsers and recently made its Flex development kit for creating Flash applications freely available.
However, Sun will have you know that the installed base upon which JavaFX applications will run natively is vast, and the platform under the covers is quite mature. More than 2 billion devices run Java, and hundreds of millions of Java runtime environments (JREs) have been downloaded according to Sun. By contrast the Silverlight 1.1 plug-in announced at MIX07 is itself an alpha release, and the Apollo final release is slated for later this year. At the same time, the Java 2D and Swing APIs that JavaFX Script leverages have been around for years.
So Sun certainly has an opportunity to exploit Java’s device presence if its JavaFX tools can meet the expectations of its JavaFX vision.