A potpourri of Java client application technologies is on the agenda at the Desktop Matters conference in San Jose, Calif. on Friday, where the desktop gets top billing over the Web.
Again dominating the discussion, as was the case on Thursday, are technologies pertaining to the Swing desktop client platform for Java. Presentations are featured on such projects as the Spring Rich Client Project, jMatter, and SwiXml.
The desktop can be a better option than the Web in some circumstances, one attendee said. "For certain types of applications, desktop's the only way to go," said Rob Abbe, chief software architect at Captovation, which develops document capture software. He cited applications that need to interface with peripherals like high-speed scanners as an example.
"The Web would be better [as a deployment choice] when the footprint needs to remain low [like] in situations where administrative policies would prevent people from installing desktop applications," Abbe said.
One technology featured, the open-source Spring Rich Client Project, shares code with the popular Spring application framework for Java but is geared to rich client applications.
"There are hundreds of major companies using this for very large and significant production applications," said Jim Moore, a consultant at Interface21, which oversees Spring technologies.
The mission of the project is to provide an elegant way to build rich client applications that leverage the Spring framework, he said. The initial focus is support for Swing applications, according to the project's Web site.
Another open-source project, jMatter, is built for developing applications for small businesses. It leverages Naked Objects Architectural Pattern, which presents new ideas on how to build applications, said Eitan Suez, author of jMatter and president of Uptodata.
"I'm on a mission to get these ideas out," Suez said. "JMatter is a manifestation of these ideas and it's a framework that I think empowers the developers to focus on their customers' needs without having to worry or spend [an] inordinate amount of time on plumbing or framework or spending time building or maintaining the GUI."
Swing and the Hibernate object-relational persistence software are featured in jMatter.
SwiXml is a GUI generating engine for Swing applications. GUIs are described in XML documents that are parsed at runtime and then rendered into javax.swing objects, according to the SwiXml Web site. SwiXml is used mostly for desktop applications.
With SwixML, code is separated from the layout like with HTML, making for easier maintenance, said Wolf Paulus, developer of SwixML and a software architect at Cardiff.
Another technology discussed, Canoo UltraLightClient, leverages Swing and a Web architecture. Application logic resides on the server rather than the client. A component-oriented programming model is leveraged. The UI is rendered in Swing rather than in HTML.
"You get a much richer user experience," this way, said Etienne Studer, a developer at Navis who worked on development of the framework when he worked at Canoo. Now, he uses UltraLightClient.
Studer cited one application of UltraLightClientClient in which it is being used in a marine terminal operations system by shipping companies. Users have access to the same UI.
Another topic slated for discussion at Desktop Matters on Friday is Microsoft Windows Presentation Foundation, which is the company's new presentation technology. Also on the agenda is Adobe Systems's Flex technology, for building rich Internet applications, and its Apollo software, for running Web applications off-line.