GWT and XUL

There are lots of nice things about writing event-based component GUI applications, but constructing UI’s using code is not one of them. It’s ugly, messy, time-consuming and hard to maintain. It’s also a pain to read, which makes the maintenance even harder.
There are a number of solutions that have been tried over the year — WYSIWYG roundtrip GUI designer in particular — but the one I like the most is the XML-based UI description. Much like the DOM trees that you can identify with id’s and to which you can hook up event handlers, XML UI markup languages — XUL, SwiXML, Luxor — allow you to construct a hierarchical UI with absolutely no compiled code whatsoever. Just write the XML, load it, hook up the GUI to the event handlers and you’re ready to rock. And since the XML file configuration, not code, you can write and load different XML files if you feel like changing your UI a bit.
If this sounds like a good idea to you, you’ll be happy to know that in the GWT Incubator Joel Webber is developing a project known as DeclarativeUi.
Writing imperative Java code to construct a user-interface hierarchy is awkward, and it makes working with UI designers difficult and/or impossible. What we want is to provide designers (and developers) with a simple way to define the static structure of applications and widgets, without having to write code.
Sound familiar? What does this markup and it’s user look like?
Read more »

