Channels ▼

Eric Bruno

Dr. Dobb's Bloggers

What's new with JavaFX?

March 01, 2009

JavaFX (, a rich client platform that makes building GUI applications for the desktop and mobile spaces quite easy, was launched as version 1.0 in December of 2008. Since then, there have been over 100,000,000 downloads of the tools and the SDK. And since JavaFX is integrated with Java SE (both JDK and JRE) it's ready to go on over 50 million desktops.


JavaFX is composed of the compiler, runtime tools, and libraries for graphics, media, text, and web service support. Its goal is to allow you to build one application with one set of source code that runs equally well on desktops, mobile devices, and TVs. A mobile emulator is included to allow you to target mobile devices with differing screen real-estate. One of the coolest features is the ability to embed JavaFX applications into web pages, and then tear them off the page and onto the desktop where they can live outside the browser. 


In terms of development tools, there's an excellent environment available as part of NetBeans 6.5 (, and there's even a plug-in available for Eclipse ( I've been working with them quite a bit lately and they work well. With JavaFX 1.1, released recently, there are now plugins and tools available for graphic artists, integrating with Adobe Photoshop and Illustrator CS3. There's also the new Media Factory that can convert media in many forms into JavaFX Scrip code, automatically. 


JavaFX Mobile


The overall goal of JavaFX Mobile is to provide a unified environment for mobile device manufacturers, as well as mobile application developers. For manufacturers, this means one runtime environment for all of their devices that work equally well, without the need to build many of the features that JavaFX mobile will provide. This includes filesystem support, GPS support, bluetooth, networking, graphics displays, and so on. It's not a far stretch to consider JavaFX as a mobile OS all its own.


For developers, once again, JavaFX Mobile provides a runtime environment that supports many of the same paradigms seen on the desktop. It also allows you to maintain one source code tree, where the runtime takes care of adjusting the display for you based on the target device's capabilities. This greatly increases the market for your Java desktop applications, as Java runs on literally billions of devices. 


In the future, I would expect to see JavaFX Mobile running on devices such as the upcoming Palm Pre, Apple's iPhone, Android, and Microsoft Windows Mobile, although support for these platforms have not been officially announced by Sun. I would also expect to see, based on what Sun is saying, that JavaFX Mobile will run on less-capable devices, acting as the OS itself. 


JavaFX Script


To be prepared, as a Java developer, you should focus on the language: JavaFX Script. It works with Java, and you can mix the two languages together. After some getting used to, you'll find yourself building rich GUI applications with little time, effort, and code. This separates it from Java Swing, which requires a little more effort and more code to accomplish many of the same things. Sun, however, is maintaining that Swing is not going away. This is a question I hear in the context of JavaFX versus Swing, and there appears to be room for both to coexist. Instead, JavaFX Script is focused on being an alternative to JavaScript, Adobe ActionScript, and Microsoft Silverlight.


For more information on JavaFX Script programming, you can check out the following resources:


-JavaFX Site:

-Chris Oliver's blog:

-JavaFX: Developing Rich Internet Applications:


As for the roadmap for JavaFX, I would expect to see some exciting tools announcements at JavaOne this year aimed at graphic artists and others interested in building rich media applications. After that, we should hear more about JavaFX TV.


It's an exciting time to be a Java developer, as it gets easier to build media-rich applications that run on desktops, mobile devices, and (in the future) TV. All we need now is a JavaFX Application Store that will target the billions of devices already running Java! How's that for market opportunity? Hopefully Sun is reading this ;-)


Happy coding!


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.