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:Early Access - H1 2011
- Port JavaFX Script APIs to Java
- JavaFX Binding APIs
- Sequence, Observable List, and Observable Map APIs
- Hardware Accelerated Graphics
- High Performance Animated Transitions
- Texture Paint
- HD Media
- WebView Scene Graph Node
- WebEngine and WebSource
Beta - H1 2011- Multithreading Improvements
- Focus Management
- Redesigned Layout Container APIs
- Grid Layout Container
- Low Latency Audio
- Full Screen Video
- Programmatic Media Markers
- HTML DOM
- Grid Layout From CSS
- CSS Animations
- TableView Control
- SplitView Control*
- TabView Control*
- MediaPlayer Control*
- WebBrowser Control
- Standard and Custom Dialogs*
General Availability - H2 2011- Dynamic Footprint Improvements
- Static Footprint Improvements
- Improved Startup Performance
- Updated Public Performance Benchmarks
- Blueprints & Samples
- Synchronized Media & Animations
- Prism Capable Plugin
- Rich Text*
It's another great day for Java developers, as JavaFX changes direction to become a viable choice for UI development for all Java applications.




Comments
Alan O'Leary replied on Tue, 2010/09/21 - 4:08am
Philippe Lhoste replied on Tue, 2010/09/21 - 6:45am
Texture paint is nice. We had it already with some hacks, it is good to see it officially available. But I hoped to see some kind of canvas control, allowing bitmap drawings. For example to draw particles, complex custom graphs (a la oscilloscope) or similar stuff.
Well, I suppose if they improve the Swing integration, we can use natively BufferedImage and friends.
Andrew McVeigh replied on Tue, 2010/09/21 - 9:33am
Rogerio Liesenfeld replied on Tue, 2010/09/21 - 9:36am
Greg Brown replied on Tue, 2010/09/21 - 1:23pm
It may actually be possible to port Pivot's markup support to JavaFX 2.0. Since Pivot 2.0 supports some pretty useful data binding features of its own, this might actually be an interesting combination.
Gar Labs replied on Tue, 2011/08/23 - 10:07am