Google Releases GWT Designer

Last week, Google released the GWT 2.2 update. While this was a relatively minor update, at least compared to previous version updates, there was one new feature mentioned in the release notes that was much needed: GWT Designer.

UiBinder’s Missing Cousin

The GWT 2.0 version saw the release of the UiBinder framework, a technique for creating GWT components in HTML, analogous to building applications in MXML over ActionScript in Flash/Flex. For example, the following UiBinder snippet creates a GWT panel and list box in an HTML-based template:

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'    xmlns:g='urn:import:com.google.gwt.user.client.ui'>
       <g:HTMLPanel>
              Hello, <g:ListBox ui:field='listBox' visibleItemCount='1'/>.
       </g:HTMLPanel>
</ui:UiBinder>

What was severely lacking in the GWT 2.0, though, was the ability to edit this layout using a visual tool. There was really no compelling reason to switch to UiBinder, since it required learning a new syntax with limited benefits over writing it directly in Java.

Enter GWT Designer, now included in the Eclipse GWT 2.2 plugin, which allows you to create UiBinder components directly using a visual editor! Below is a sample screen-shot from a UiBinder class created in GWT Designer:

GWT Designer

But wait, there’s more!

GWT Designer is actually part of the WindowBuilder Pro family of graphical editors that includes SWT Designer and Swing Designer. Google offers the option of downloading the full stand-alone application, which includes support for 3rd party GWT add-ons such as GWT-Ext, GXT and SmartGWT.

With the GWT 2.2 release, Google also added support for HTML5, although it is marked as experimental/beta for the time being. To some surprise, they also deprecated support for Java 1.5 so if you have not upgraded to Java 1.6 yet, you will now get warnings in your application. Overall, the GWT 2.2 release helps to round out the GWT feature set leading to more powerful and easier to use tools.

I'm Speaking at TheServerSide Java Symposium Reminder: Jeanne and I are both presenting at TheServerSide Java Symposium next month. My lecture is entitled “GWT Roundup: An Overview of Google’s Web Toolkit and Hybrid Integration” and Jeanne’s presentation is called “Throw Away All The Rules. Now What Process Do You Follow?“. The conference is being held in Las Vegas and it’s not too late to register to attend!

5 thoughts on “Google Releases GWT Designer

  1. Using UiBinder without a visual editor definitely brings some advantage: defining a UI in Java leads to code that is hard to understand, and UiBinder can create lighter interfaces, since you can mix HTML and widgets.

    Also, I’ve never used the GWT Designer, but it existed before UiBinder and can be used to create UIs in pure Java, so it’s not specific to UiBinder.

    That said, it makes sense to use a declarative syntax and a visual designer together, although in this case they are not dependent each other.

  2. GWT Designer was part of WindowBuilder Pro but the big news is that a lightweight version is now included as part of the GWT 2.2 plugin.

    While one could certainly use UiBinder without a visual editor, the advantages of doing so are limited. Most programming languages, such as Flex with MXML for example, that offer such declarative languages, do so with the advantage of being able to edit with a visual tool.

  3. I ve used Google’s Swing Designer… very good , easy and understandable code is generated.. Even the code changes reflect the Gui easily. I think its better than Netbeans Mattisse/GUIBuilder

  4. Coming from a Flex background (and looking to move over to the AJAX side of things) I was really excited about UIBinder. And although I hardly use the visual editor in Flex/Flash Builder (purist tendencies) I think it’s time I try laying things out visually and see if it speeds up my dev time.

Leave a Reply

Your email address will not be published. Required fields are marked *