JavaFX, for all the screens of your life
Over the past half-dozen years, the JavaOne conference has been slowly morphing into the Mobile Java Development conference, with an increased emphasis on writing Java ME apps for cell phones.
This year, JavaOne is branching out to a broader vision, encompassing not only desktops and mobile phones, but also televisions and consumer electronics devices.
Sun’s new catchphrase – which I’m already tired of – is that Java applications are for “all the screens of your life.” Whether it’s a business dashboard or a Facebook plug-in or software distributed on a Blu-ray disc, the same software should run on everything. More importantly, the user experience should be consistent across every possible device – without developers having to write custom versions of their software for particular deployment targets.
That catchphrase is a key part of Sun’s messaging about Java: “Today, Java technology is the most widely adopted runtime in the world and is now powering compelling content and rich end-user experiences across all the ‘screens of your life’ on billions of devices – from desktop browsers and computers (800,000) and mobile phones (more than 2 billion) to TVs, Blu-ray Disc players and other connected consumer devices.”
The foundation for this cross-platform user experience – dare we call it, “write once, experience everywhere?” is JavaFX. That’s a new GUI layer for rich client applications that will integrate 2D, 3D, animation and sound into Java ME and Java SE VMs – hardware-assisted, when possible. Yes, it’s somewhat reminiscent of Microsoft’s Windows Presentation Foundation, but the difference is that unlike WPF, JavaFX is not tied to a particular operating system
JavaFX looks good, but we’ve been hearing about it since JavaOne 2007, and Sun has yet to deliver even beta code. (The demos during the JavaOne keynote kept crashing.) The latest word is that we’ll have “early access” code in July, and a Java SE version for desktops later this year. Java ME versions of JavaFX won’t be until early 2009. Maybe then we’ll see what Sun means by having software running on all the screens of our life.
I still remember the days when applets that ran great on Windows ran poorly on other platforms because Windows native threading was so much better. JavaFX will not take off simply because it’s not built on a lightweight platform, but a heavyweight one, and will simply suffer poor performance once people try to deploy their tested apps from Unix or Windows to little devices.