Oracle's ambitious plan for client-side Java

At JavaOne, Oracle announced a big initiative to revitalize Java on the desktop, the Web, and mobile devices. Can it follow through?

Page 2 of 3

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.

Oracle has been paying attention to current trends as well, in particular the rise of HTML5 and JavaScript as application UI development tools. JavaFX 2.0 allows you to embed HTML5 content in JavaFX applications and have it rendered via WebKit, much as you can do with Adobe AIR. Another Oracle effort, Project Avatar, aims to enable hybrid applications where HTML-based UIs share content between Java clients and Java EE servers, both in data centers and in the cloud. These initiatives should help make client-side Java more accessible to developers with a strong Web background.

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.

| 1 2 3 Page 2