HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Reports of Java's death on the desktop may be somewhat premature. A recent Giga group report, "Return of the Rich Clients", predicts that in the next three years browser-rich clients will grow by 350%, stand-alone clients by 250%, while HTML will decline by 50%. Two major facts are contributing to this change: problems associated with traditional client development being solved and HTML not providing a powerful enough user interface for all GUI requirements. Both of these are good news for Java.

For stand-alone clients, Java has advanced on several fronts recently. The J2SE team delivered substantial performance improvements to Swing in 1.4.2, as well as a great Windows XP and GTK look and feel. Meanwhile the Eclipse project created SWT that uses a rich set of cross-platform native controls over and above those provided by AWT. Newsgroup flame wars often pitch the two as rival GUI toolkits; however, hopefully this will become a thing of the past as the current interoperability problems are tackled.

One of the problems associated with traditional client/server development is a systems management issue of how to ensure that the software at all end points is kept up-to-date. HTML largely avoids this by creating the page marking up the client UI each time a request is made to the Web server. Arguably, this on-demand preparation of the GUI is the single largest reason HTML has become such a ubiquitous programming model. Java Web Start, however, solves the original distribution problem by using the Web as a mechanism to deliver a traditional Java application to the client. Each time the program is run it checks against the Web server to see whether a newer version is available and, if required, downloads the updated JAR files. JWS programs run within Java's security model; however, client-side caching and the use of local JRE avoid the issues that plagued applets.

Several Java hybrid clients also exist that run Java on the server, but instead of delivering HTML to the browser, they use plug-ins to create a richer UI experience. With the ultra-lightweight client from Canoo, a J2EE programmer uses Swing peer classes as if writing client-side Java, requests are marshaled back and forth as XML, and a full Swing GUI is actually created on the client. The RSWT SourceForge project does the same except it uses SWT as its Java toolkit. Other examples of Java hybrid technologies are classic blend, droplets, and thinlets, all of which deliver a rich GUI to the user through a Java server-side programming model.

It's not going to be easy for Java to win back the client as it faces stiff competition from Microsoft with Windows Forms, and Visual Basic as the incumbent client development language.

With this level of activity in the client Java space, Java Developer's Journal is launching a new section entitled "Desktop Java." This will include solid technical content to help you understand more about the various projects and technologies, as well as editorials and news. The mistakes have been made, the lessons learned, and Java is now well positioned to recapture some of its lost pride as a GUI platform. We hope you enjoy the new section.

References
1.  "Return of the Rich Clients" report available to registered Giga customers: www.gigaweb.com
2.  SWT/Swing: Click Here!
3.  Java Web Start: Click Here!
4.  ULC: www.canoo.com/ulc
5.  RSWT: http://rswt.sourceforge.net
6.  Classic blend: www.appliedreasoning.com/products_what_is_Classic_Blend.htm
7.  Droplets: www.droplets.com
8.  Thinlets: www.thinlet.com

About The Author
Joe Winchester is a software developer working on WebSphere development tools for IBM in Hursley, UK. [email protected]

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.