Java has long been a hit with enterprise developers, with Java EE powering the back ends of enterprise applications in data centers around the world, while Java application servers and servlet containers enable countless Web applications.

For client-side development, however, Java hasn't fared nearly as well. There have always been Java technologies aimed squarely at the client: Java applets debuted with the first release of the platform, and Java ME was an early hit with cellphone vendors. Various toolkits and frameworks have been released over the years for building rich, GUI-based Java applications for the desktop.

[ Paul Krill explains Oracle's new plans for JavaFX. | Get software development news and insights from InfoWorld's Developer World newsletter. | And sharpen your Java skills with the JavaWorld Enterprise Java newsletter. ]

But as the years rolled on, modern client-side development methods have increasingly left Java behind. Adobe's Flash quickly supplanted Java applets as the preferred means of delivering rich content to the browser, and continuing improvements to HTML and JavaScript mean we may soon be browsing a plug-in-free Web. (Apple's iOS is already there, as will be Microsoft's forthcoming Windows 8 on mobile devices.) Modern smartphones don't use Java ME; Research in Motion is trading its Java-based BlackBerry platform for one based on the QNX real-time OS, and even the Java-based Android platform uses a nonstandard implementation of Java. And Java on the desktop never really took off; other than Azureus and Eclipse, I can think of few examples of consumer-facing desktop Java applications.

So it's been tempting to assume that Oracle, with its strong enterprise focus, would ignore the client in favor of data center technologies such as Java EE. This week, we learned that's not the case. In fact, the real news from this year's JavaOne conference in San Francisco may not be Oracle's plans for Java 8 and 9, but the revelation that Oracle is gearing up for a new, sustained push behind Java for the desktop, the Web, and mobile devices. If it can succeed in its ambitious plans, the age of client-side Java could be just beginning.

JavaFX everywhere

The cornerstone of Oracle's client-side efforts is JavaFX, a Java technology aimed at making it easier for designers and developers to collaborate to build rich, graphical UIs. JavaFX has been around since 2008 and is widely regarded as Oracle's attempt to replicate Flash or Silverlight for the Java crowd. According to Oracle reps, JavaFX is now the preferred method of building all kinds of GUI applications and games, and developers should use it in favor of older technologies such as Swing (although Swing will continue to be supported and its APIs will be closely integrated with JavaFX).