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 10/06/2011 at 9:00 AM


Reader Comments:

Fri, Apr 6, 2012 Anonymous

JavaFX Scene Builder 1.0 is a disappointment. I realize it's a beta version but it's not really past alpha at this point. Trying something very basic such as a creating a tabbed pane with an embedded table will work but that's it. From there, basic functions such as adding a new tab or some columns to the table are either not available or well hidden. The main menus need visual improvements -- the text is not aligned properly and blurry by default (which may be a JavaFX limitation). Most of the control icons are taken right out of NetBeans which tells me that there's a resource problem at Oracle. In fact, the overall layout/look and feel of SB 1.0 is really a repeat of the NetBeans Swing Builder which isn't a bad tool but it indicates that nothing new/exciting/innovative is available. Over-concentration on concepts like Containers to the neglect of simplifying and improving a few good layouts and creating more useful widgets/models also suggests that GUI desktop development will remain primitive in Java. There's nothing new here to actually simplify/improve desktop development. I could go on and on about the deficiencies but the big picture is what's most disconcerting: the same culture/people that brought us the underwhelming Swing toolkit have simply changed departments. What this means is that developers who adopt JavaFX will have to wait, wait, and wait some more for something better and in the end, all the waiting will lead to nothing. All of the promises of an improved Swing and client Java in general never materialized. It looks like JavaFX is going down the same road.

Tue, Oct 11, 2011 champions_league Beverly Hills, CA

Do u trust Oracle vis-a-vis open source? I don't. From the lawsuit against Google, I just have this weary feeling that one day, they will one day show up in the middle of the night and ask for royalties and even an injunction, when your product that relies on their 'Open Source' tools becomes successful. No thanks!

Mon, Oct 10, 2011 Eric Bruno NY

Thanks for the mention, John. Sorry you missed it, but you can find the slides here: https://oracleus.wingateweb.com/published/oracleus2011/sessions/24350/S24350_1787760.pdf -EJB

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above