{{ !articles[0].partner.isSponsoringArticle ? "Platinum" : "Portal" }} Partner

JavaFX Rebooted: The Roadmap For Oracle's Alternative Approach

The big news at JavaOne so far has been the decision to ditch JavaFX Script and use a Java API for creating JavaFX applications instead. The big advantage of this is that JavaFX will be embeddable into Swing through it's embeddable web browser component, breathing some new life into Java desktop applications. It will now be much easier for JavaFX developers to integrate their applications with existing Java business logic, as well as get access to features such as generics and annotations.  In these presentation slides from Stephen Chin and Jonathan Giles, you can see how JavaFX can work with alternative languages on the VM such as JRuby, Clojure, Scala and Groovy.

One feature that developers may miss from JavaFX Script is it's binding approach. While no solution is available just yet, according to these slides, there is work being invested into working out how to keep the binding feature alive for JavaFX.  

A full roadmap is available so that you can see how JavaFX 2.0 will evolve over the next year, resulting in a General Availability release in the second half of 2011. 

Apart from the porting of the JavaFX Script APIs over to Java, some of the attention grabbing items are the plans to improve startup performance as well as refactoring and improvements to the media stack for HD media and full screen video. There are also a number of controls planned (TableView, TabView and SplitView). Of course all desktop applications need these controls, but SplitView and TabView bring iOS to mind for me. Maybe we'll get to see JavaFX applications on Apple devices sometime soon after all! 

The list isn't finalised, and is subject to change, but here is what you can expect to see in the next year from JavaFX: 

It's another great day for Java developers, as JavaFX changes direction to become a viable choice for UI development for all Java applications. 


{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks