Sun's JavaFX Scripting Tools Counter Ajax, Flex

Like Silverlight and Ajax, the JavaFX scripting language can be used to build rich, interactive Web applications and adaptable user interfaces for smartphones and other mobile devices.
Sun Microsystems is launching its JavaFX scripting language for building rich Internet applications to rival those built with Adobe's Flex, Microsoft's Silverlight, and open source Ajax. It will also answer a need for flexible, adaptable user interfaces for smartphones and other mobile devices.

JavaFX won't replace other ways of building Java user interfaces, such as the Java programmer's Swing component set. Instead, it will sit on top of Swing and other Java components to make it easier for designers, content creators, and scripting language users -- a less programming literate group than Java Enterprise Edition developers -- to build interactive Web applications. With JavaFX, a Web site visitor can click on a particular subject on a Web page, watch it fade, and get the next desired information presentation filling his screen through a background reloading process.

"This is the biggest innovation to come to the Java platform in years. It's really allowing the Web design community, the Adobe Photoshop and Illustrator users, to come into the fold," said Eric Klein, VP of Java marketing, in an interview.

"It brings us into the same space as Adobe Flex and (open source) Ajax," he added.

As a scripting language, JavaFX will have simplified syntax and logic to build the common menus, buttons, and interactive elements of a Web application interface. Beneath the surface, JavaFX will be invoking Swing and Java application logic to deliver what the end user wants. In part, the Sun move is an acknowledgement of the usefulness of Perl, Python, and PHP, all open source Web scripting languages that are often used by those who have adapted to the loosely coupled techniques of Web development and fall short full Java programming skills.

Scripting languages are both easier to learn and less stringent in what types of data may be used with them. Java is strongly typed; when Java logic calls for a variable, a compiler checks to see that only a strictly defined type of data is used with the statement, such as a five-digit number for a ZIP code. While the characteristic provides safeguards, it can make it more difficult to get dissimilar parts of a Web site to work together.

Scripting languages, on the other hand, accept whatever data is defined as appropriate at runtime, making them looser and easier to work with for Web applications that have mixed data types or changing data types. Scripting languages are also interpreted, or compiled at runtime, making any recent changes instantly incorporated into Web site operation. JavaFX will be available as a JavaFX SDK or downloadable toolkit. It will also be available to Eclipse tool users through a plug-in to the Eclipse open source programmer's workbench. A similar plug-in will be available for NetBeans, Sun's Java IDE, and another plug-in for Adobe Photoshop. "We wanted to make sure [to use] the tools people are familiar with and have been engaged with for years," said Klein.

Through the plug-ins, developers will be able to design user interfaces with active elements in JavaFX and let the underlying plumbing deliver the Java programming that will make them work.

For a mobile phone application, for example, a JavaFX developer can produce an application that "will be able to call into the Java API specific to using a camera on a phone" and capture an image to post on the Web. "It's an easy way to put things together," said Jeet Kaul, senior VP for Java client software engineering.

JavaFX will be issued as an open source scripting language under the GPLv2. A Web site for the JavaFX community has been established here.

Editor's Choice
Brandon Taylor, Digital Editorial Program Manager
Jessica Davis, Senior Editor
Cynthia Harvey, Freelance Journalist, InformationWeek
Terry White, Associate Chief Analyst, Omdia
John Abel, Technical Director, Google Cloud
Richard Pallardy, Freelance Writer
Cynthia Harvey, Freelance Journalist, InformationWeek
Pam Baker, Contributing Writer