Sun will detail a plan Tuesday that could make Java a formidable player in the scripting language space.
At the JavaOne conference in San Francisco, Sun will roll out a Java-based product family called JavaFX, which covers Java development from the desktop to the Web to mobile devices. It features a new scripting variant of the Java, called JavaFX Script. JavaFX is a line of products focused on opportunities in the consumer communications market, including desktops, mobile clients, and TVs. The first product release is JavaFX Mobile, a software system for mobile devices.
"JavaFX is a complete software system from the metal on up," said Rich Green, Sun executive vice president of software.
JavaFX Script centers on content creation and leverages the high-volume distribution of Java, Green said. "JavaFX Script is a scripting language focused on the content-authoring and content creation crowd. It is a means of creating visually impactful, high-performance, dramatic Web and network-facing artifacts or experiences that run all the way from the desktop running Java SE (Standard Edition) all the way down to mobile devices powered by JavaFX Mobile."
While most scripting languages are oriented to building out Web pages, JavaFX Script focuses on user experiences on the interface and particularly on things that are highly animated, Green said.
"It's not a procedural language in the usual sense," said Green. "It's much easier to use."
JavaFX Script leverages 2D graphics APIs in the Swing GUI toolkit.
JavaFX will be open sourced. "We plan to open-source all of JavaFX as we work through the program," said Green. Plans call for eventually offering a line of developer tools to work with JavaFX with a basic, introductory tool to be offered on Tuesday, Green said.
Expanding Java deployments is a natural goal of the JavaFX platform.
"There are parts of the world where a person's desktop computer is their cell phone, and that's the kind of end point that we're going to get to," said James Gosling, a Sun vice president and Sun Fellow who is considered the father of Java.
Sun officials acknowledged that JavaFX bears a similarity to enhanced graphics capabilities offered in the new Microsoft Silverlight platform. But Gosling added that Silverlight differs in that it is mostly focused on video-streaming.
"You can use it for anything that you would use AJAX for," Gosling said. "You get much more dynamic behavior. You get much more advanced APIs that you get access to."
Easy applet creation also is possible, Gosling said. Additionally, Web applications can be built that also work in a disconnected mode. Asked if JavaFX makes AJAX obsolete, Gosling said that was not a goal.
Sun's JavaFX offers up an alternative to AJAX and also vies with Silverlight and Adobe Flash, said Jeffrey Hammond, senior analyst at Forrester Research.
"I certainly think people will compare JavaFX apps to other rich Internet application technologies, and given Java's popularity in the enterprise, they have a good chance of attracting developers if the UI and ease of development matches up," Hammond said.
Hammond applauded the JavaFX declarative programming model.
"Anything that makes it easier for developers to quickly build compelling user interfaces using the Java stack is a step in the right direction," Hammond said. "A model that makes it easier to target multiple devices, including mobile ones, is also useful and recognizes the multi-channel direction the Web is taking."
While the Java Mobile Edition (ME) platform has focused on a reduced set of functionality for mobile devices compared to Java SE, JavaFX brings core Java SE capabilities down to mobile devices, said Green.
Sun officials cautioned that the current release of JavaFX is only an early, alpha release. No date has been set for a general release.