New Indigo Project #2: WindowBuilder

In my series on new projects that have joined the Indigo release train, Eric Clayberg, project leader of WindowBuidler answers the 4 questions.   As a side note, I have known Eric since the days of WindowBuilder for Smalltalk.  It is great to have him leading the charge of making WindowBuilder an Eclipse project.

1. What does your project provide to an Eclipse user?

WindowBuilder is composed of SWT Designer and Swing Designer and makes it very easy to create Java GUI applications without spending a lot of time writing code. Use the WYSIWYG visual designer and layout tools to create simple forms to complex windows; the Java code will be generated for you. Easily add controls using drag-and-drop, add event handlers to your controls, change various properties of controls using a property editor, internationalize your app and much more.

WindowBuilder is built as a plug-in to Eclipse and the various Eclipse-based IDEs (RAD, RSA, MyEclipse, JBuilder, etc.). The plug-in builds an abstract syntax tree (AST) to navigate the source code and uses GEF to display and manage the visual presentation.

Generated code doesn’t require any additional custom libraries to compile and run: all of the generated code can be used without having WindowBuilder Pro installed. WindowBuilder Pro can read and write almost any format and reverse-engineer most hand-written Java GUI code. It also supports free-form code editing (make changes anywhere…not just in special areas) and most user re-factorings (you can move, rename and subdivide methods without a problem).

2. Why are you personally involved in the project?

I have been involved with the WindowBuilder project in its many various forms since 1992 when it was focused on Smalltalk. I have been the project leader for the Java/Eclipse version since its first release in 2003 by Instantiations and then lead the effort at Google to make it free and then contribute it to Eclipse. I have been very impressed with Google’s willingness to “do the right thing” and make this wonderful technology freely available to everyone.

3. What is the future roadmap for your project?
WindowBuilder has been a huge commercial success over the years, and now we want to migrate it to being a successful open source project. While the technology is very mature from an end-user (e.g., Swing and SWT developer POV), we need to do a lot to establish and document the public APIs so that other may build upon the framework to create new UI designers for other UI toolkits.

4. What have been your experiences of participating in the Indigo release train?
We are relatively late to this release cycle and have been rushing to catch the train and release WindowBuilder with the rest of Indigo. We had a lot of work to do to move WindowBuilder to the Eclipse namespace, vet all of its IP, externalize all of its strings, update its build process, etc. It has been a labor of love for all involved and a huge learning process for all of us.

One thought on “New Indigo Project #2: WindowBuilder

Comments are closed.