At the Oracle OpenWorld event, the database giant revealed some details about its Java roadmap. Oracle unsurprisingly wants to continue improving Java Enterprise Edition, but the company also highlighted its commitment to improving client-side Web support and mobile application development with JavaFX.

The Java programming language plays an important role in facilitating third-party mobile application development, but the standard J2ME stack is increasingly being displaced on smartphones by custom frameworks or native toolkits because it doesn't enable developers to create competitive user experiences. Java has long since lost to Flash for client-side Web development for similar reasons.

JavaFX was an important part of Sun's strategy for fighting back and restoring Java's client-side relevance, but it was poorly communicated and weakly executed. Oracle is pulling the pieces together and attempting to revitalize JavaFX with the hope of making it fulfill its original potential. One of the major goals is to boost JavaFX performance and integrate it more seamlessly with the standard Java Runtime Environment (JRE). Hardware-accelerated rendering and heavy ARM optimization will make it a better fit for mobile environments.

When Sun launched JavaFX, the company also introduced a specialized scripting language called JavaFX Script. Due to some poor branding practices by Sun, there was a lot of confusion among third-party developers, who often conflated the language and the framework. The scripting language had some nice, Python-inspired features and a declarative syntax for describing user interfaces, but it proved to be too slow, it insulated application developers too much from more powerful Java features, and it never really gained much popularity.

Oracle has decided to discard JavaFX Script and is instead going to supply bindings so that Java programmers can use JavaFX capabilities with the language of their choice, including Java, JRuby, Groovy, and JavaScript. Oracle expects to issue the next major JavaFX release in the third quarter of 2011, with new APIs and a more language-neutral model. Another one of Oracle's goals is to improve support for natively rendering HTML inside of JavaFX, which will potentially make it easier for developers to build content-centric mobile Java applications.

"We are very excited about the upcoming enhancements to JavaFX, which will enable it to become the premier environment for rich client applications," said Oracle's Java Client Group director Nandini Ramani in a statement. "With new Java APIs, Java developers will be able to incorporate powerful JavaFX capabilities into their applications with greater ease. New hardware-accelerated graphics and HTML rendering capabilities will unlock possibilities and enable a new wave of innovative applications."

The coming overhaul could bring some welcome improvements for Java developers, but there are still some major challenges. The biggest problem is still fragmentation. It's not really clear how many J2ME-enabled devices can properly run JavaFX applications. As far as I know, it doesn't even work on Blackberry handsets, for example. Until it is more broadly supported and there is a clearer picture of where it will work and where it won't work, it's unlikely to be embraced by developers.

Listing image by Bernie Goldbach