Update 2009-04-07
Sorry for the delay in posting Shandor. We've been adding so many features during the week that it takes me half the weekend to update the Shandor codebase! The good news is that the GWT implementation is a lot more "baked" and supports all of the core functionality and a good number of the widgets.
Update 2008-12-21
We're almost ready to release Pentaho Xul as Shandor! The GWT implementation is now complete with Bindings. I'm working to unify the API in light of the asynchronous nature of GWT. I anticipate being able to post the results by the new year.
In the meantime, Shandor is available from the Pentaho SVN repository: svn://source.pentaho.org/svnroot/pentaho-commons/pentaho-xul
Introduction
Shandor Xul spawned from the Pentaho BI Suite (www.pentaho.org) early in 2008. Pentaho, being an open source company, has struggled to integrate Java applications acquired from various communities. Not only can they be written in with different Java UI toolkits, but with different application framework approaches as well.
Pentaho also has the additional requirement of providing a suite that can be easily customized or branded by partners and customers. A document-based interface definition, sometimes referred to as declarative mark-up, is the natural approach.
The decision to use XUL as that mark-up syntax was driven partly from an admiration for the Mozilla community but also because its a well defined open standard with good industry exposure. Besides, does the world need another way to declare a button?
While Shandor is under development at Pentaho, we're actively seeking community contributions. So please pick up the source and drop in some code.
Details
So what can Shandor do for you?
- Generate Java applications with SWT, Swing or GWT from XUL documents with absolutely zero source changes
- Support for the XUL Flex layout system.
- Agnostic event handler system. Support for Java and Groovy handlers
- Property bindings between Models, Controllers and Widgets with collection to widget binding supported (tables, lists)
- Interfaces for all UI components that adhere to the XUL spec.
- A generic DOM representing your application's UI components with XPath support
- Full overlays support with the ability to add/remove overlays at runtime.
Project Authors (in chronological order of allegiance to XUL)
James Dixon (Pentaho Founder and visionary), Nick Baker (Lead developer, Swing, SWT, GWT), Gretchen Moran (SWT), Will Gorman (GWT), Aaron Philips (Bindings, MVC, Spring support)