JavaFX, Sun's Java-based entrant into the hotly contested rich media application space, will make its formal debut on Thursday.
Free components of the platform and plugins for the Eclipse and NetBeans IDEs will be available. Specifically, the company will ship the JavaFX 1.0 platform, featuring the JavaFX Desktop runtime for running JavaFX applications on the desktop and in browsers. An early release of JavaFX Mobile, for deploying JavaFX on mobile devices, will be offered as well.
Also arriving is a general release of the JavaFX Script language, which had been available in a preview version. The language allows designers and developers to use APIs in the 1.0 platform to build applications, said Param Singh, Sun senior director of Java marketing.
[ JavaFX will have to compete with Adobe's Flash Player, which is at version 10, as well as Microsoft's Silverlight, which has already seen a beta 2.0 release ]
"JavaFX Script is most similar to JavaScript, and it has been specifically designed to allow for animation support directly in the language," he said. The scripting language also can connect to multiple data sources, such as JDBC (Java Database Connectivity), a URL, or a Web service.
For mobile applications, developers can use an emulator at this juncture. "Sun has committed to delivering a full release [of JavaFX Mobile] in early-2009, but we are delivering the beta of JavaFX Mobile with the release on December 4 so developers can start testing their applications and prepare for the mobile release," Singh said.
With JavaFX, Sun is eyeing developers using rival platforms and wants to integrate in assets built with Adobe technologies. Along with the JavaFX platform components, Sun will deliver JavaFX Development Environment, featuring plug-ins for both NetBeans and Eclipse, with the Eclipse plug-in allowing Adobe Flex and Laszlo developers to use JavaFX, said Singh. The environment includes a compiler and runtime tools, graphics, media, and Web services. The NetBeans IDE itself is included.
Also arriving is JavaFX Production Suite, featuring plugins to export graphical assets from Adobe Photoshop and Illustrator into JavaFX applications. An SVG converter will be part of the suite, too. Previously codenamed "Project Nile," the suite enables designers using the Adobe products to work with JavaFX developers in building JavaFX applications.
"Designers and developers have long wanted to be able to work [together] seamlessly," he said.
Singh emphasized the Java underpinnings of JavaFX as an advantage. "We think for developers to provide powerful applications that leverage the power of Java, JavaFX is an ideal environment because we provide the deep integration with Java," he said. Developers can build applications for a range of systems, enabled by the ubiquity of Java, he stressed. A JavaFX runtime for deploying applications that run on televisions also is planned.
(JavaFX was introduced publicly at the JavaOne conference in San Francisco in May 2007.)
JavaFX will compete with Adobe's Flex and Flash technology as well as with platforms such as Microsoft's Silverlight in the rich Internet application space.
While Sun is offering its JavaFX technologies free of charge, the company plans to sell value-added services sitting top of the JavaFX runtime. The company would not disclose what those services will be. "These applications and services would leverage the media capabilities that are in the runtime," Singh said. Sun also intends to leverage JavaFX to sell its hardware.
An early JavaFX developer, Jim Weaver, has been impressed enough with JavaFX to set up his own blog about it and entitle one entry, "Sanity Will Be Restored to Internet Application Development on December 4, 2008."
In an interview, Weaver said JavaFX, coupled with the Java Platform, Standard Edition 6 Update 10 (Java SE 6u10) release, helps overcome the roadblock of browser wars that prevented emergence of a ubiquitous Java virtual machine on the client.
"We're in a position where the JRE (Java Runtime Environment) will become ubiquitous again," said Weaver, who is executive vice president at media company Veriana Networks. The Java update solves deployment problems and makes running a JavaFX or Java application easier, he said.
JavaFX, he said, offers a declarative syntax for expressing a UI. It boasts 2D and graphical application benefits, he said. "The look that you'll be able to create and that users are expecting now [is] more like an iPhone," Weaver said. Users will be weaned away from underwhelming browser-based applications and gain graphically fluid and stunning applications with JavaFX, he said.
JavaFX's close link to the Java platform will appeal to large numbers of Java developers, said Jeffrey Hammond, senior analyst for application development at Forrester Research. Inclusion of media codecs makes JavaFX a good option compared to AJAX, he said.
But JavaFX does require that Java SE 6 u10 be installed on the client machine and is limited to a few platforms, he said. JavaFX, however, could compete with Flash, Silverlight, and AJAX if Sun executes well.
"To paraphrase Churchill, we’re not at the beginning of the end of the evolution of the RIA market, but we are at the end of the beginning. It’s not too late for Sun, but the next year will be decisive," Hammond said. "If they can get good mobile platform support over the next year, continue to enrich the control model, and get good penetration of the new JVM, JavaFX could become a viable alternative to Flash, Silverlight and AJAX."
Sun is providing API documents for JavaFX along with more than 50 code samples applications for designers and developers. A set of tutorials also is featured. This documentation and JavaFX runtime technologies will be offered on javafx.com.
In conjunction with the JavaFX deliverables, Sun is partnering with On2 Technologies, which will offer its Flix encoder for video editors to encode video for the JavaFX file format, for deployment of video content. A 30-day trial will be offered.