The new version announced at JavaOne, JavaFX 2.0, introduces several new features, such as an XML-based UI description language and support for new devices, including Microsoft Kinect. It also does away with JavaFX Script, a simplified language used for scripting UIs in earlier versions. But its most important improvement is that unlike previous versions, the JavaFX 2.0 APIs are all 100 percent pure Java. That means JavaFX is now supported on any device that offers a JVM. In addition, developers can code JavaFX applications in any languages supported by the JVM, including alternatives such as Clojure, Groovy, and Scala.
Expanding Java's reach
But increasing Java's appeal to client-side developers is pointless if Oracle ignores the elephant in the room, which is that Java simply isn't available on enough clients. Early on, Java was billed as the "write once, run anywhere" language, but these days that simply isn't the case.
Thankfully, Oracle seems to have gotten the message, and it's working hard to expand Oracle's reach into more platforms. First up is Mac OS X. Java support on Mac OS X has typically lagged behind the current release, and Apple deprecated its own Java implementation in 2010. At JavaOne, Oracle demonstrated good progress toward rectifying this situation with the announcement of a preview release of JDK 7 for Mac OS X, offering hope that Java desktop applications may soon by truly cross-platform once again.
Oracle's main focus, however, seems to be getting Java running on more mobile devices (and rightly so). At JavaOne, it announced plans to unify the aging Java ME technology with the latest version of Java SE. The platforms will still cater to different audiences -- Java ME for small embedded devices and Java SE for more powerful devices and PCs -- but the converged platform will hopefully mean Java ME development is no longer an arcane specialty and technologies such as JavaFX will be available on more devices.