WatersWorks

Blog archive

Oracle Embraces JavaFX, Plans To Open Source It

JavaFX was something of a darling of JavaOne this week. Oracle not only came through on its promised update of the Java user interface (UI) platform, it delivered additional features, such as a new HTML editor and the new WYSIWYG GUI design tool, Scene Builder, with this release. And JavaFX Script (which still exists as the open source Visage) has been replaced by Java APIs, so Java jocks can use their favorite IDEs to develop, compile and debug JavaFX 2.0 applications.

JavaFX 2.0 also adds support for Flash XML (FXML), an XML-based declarative markup language for defining the user interface in a JavaFX application. Scene Builder is essentially an FXML editor.

Oracle explains why FXML is a good thing on its JavaFX 2.0 documentation page:

"One of the advantages of FXML is that it is based on XML and is familiar to most developers, especially web developers and developers using other RIA platforms. Another advantage is that FXML is not a compiled language; you do not need to recompile the code to see the changes you make. A third advantage is that FXML makes it easy to see the structure of your application's scene graph. This, in turn, makes it easier to collaborate on user interfaces among the members of your development team."

JavaFX Script was created by Sun Microsystems engineer Chris Oliver back in 2006 as something called F3 ("Form Follows Function"), which, as he wrote in his blog back then, was created "to explore making GUI programming easier in general."

Oracle threw a spotlight on JavaFX 1.3 last year when it announced the Composer plug-in for NetBeans 6.9, which provided a visual layout tool for building JavaFX GUI apps along the lines of the Swing GUI builder for Java SE applications.

During Tuesday's keynote presentation, Nandini Ramani, vice president of development for Client Java at Oracle, and Adam Messinger, Oracle's VP of development for Fusion Middleware, demo'd JavaFX running on both an Apple iPad and a Google Android-based Samsung Galaxy tablet. "We want to hear from the community, Ramani said. "If this is something you want to see, we're happy to make it a priority." The next release of JavaFX (version 3.0) will be bundled with Java SE 8, Ramani told reporters yesterday.

She also disclosed Oracle's plans to open source JavaFX. Oracle will submit a proposal to open source the JavaFX platform as a new project within the OpenJDK Community she said, "ASAP." The company plans to start by contributing the JavaFX UI controls and related libraries, and will contribute other JavaFX components in multiple phases.

"I think [open sourcing JavaFX] is the right decision," Ramani said. "Now that we've reverted back to Java APIs, it's part of Java and makes sense there. And we believe that clients on the UI side need an updated, state-of-the-art set of APIs, and JavaFX is the right solution for that. It just makes sense for it to be in the community."

One of the many sessions at this year's conference that I regret not being able to attend is Gorilla Logic senior software developer Eric Bruno's Monday presentation, "JavaFX on Wall Street." This session looked at a project Bruno has been engaged in for "a leading national bank" in New York City, and his work with teams to build and deploy JavaFX components in an existing Java Swing application used by companies globally. Bruno deployed JavaFX 1.3.1 successfully, and is now moving to JavaFX 2.0.

With two conferences to navigate, it's not surprising that I was unable to connect with IDC analyst Al Hilwa, who was also onsite this week. But I managed to get his views on Oracle's JavaFX announcements via e-mail.

"Overall I like what I am seeing in the way JavaFX is moving," said IDC analyst Al Hilwa, who attended the conference. "Turning it into a framework to be used from within Java is definitely a better approach... I would love to see it [turn] Java back into a tool for cross-platform mobile development."

 

Posted by John K. Waters on October 6, 2011