Evaluation Report - SWTDesigner V6.4.1
1. The Most Useful Features
During "Task Perspective" implementation Window Builder was used for initial GUI representation design. So far I have found that this tool has a rich components repository for Swing, SWT and Jface development altogether with compatibility to create RCP application components. It also upkeeps bi-directional code handling and strings externalization mechanism.
So here is the list of the most useful (in scope of our project) features found during Window Builder usage:
- - Very fast GUI design creation (about 3 times faster then making it manually or maybe even more)
- - Easy navigation\manipulation of controls properties
- - Applicable code creation and its bi-directional handling
- - Fast strings externalization mechanism
There is also a package for web projects designing but it was not tested. Maybe we could look closer on that part if we will decide to implement some web representation for server management. There is also a plenty of additional functions described in the user guide, but it could take long time to test them all. Among the features that look useful at first glance are the visual inheritance support and data binding capability.
2. The Disadvantages
Although I have found Window Builder a very useful tool during the work with it I have experienced a lot of problems. Here is the list of the most significant disadvantages:
- - If I use Window Builder Design Page – it leads system (Eclipse IDE) to become very slow and stop working after some time. In fact I had to restart Eclipse every 30 minutes while working with Window Builder. Maybe it's the question of hardware (I have 2GB RAM) or install problem or evaluation version problem – I don't know, but if this is the common behaviour of the tool – it's very bad.
- - Most of previously created dialogs (maybe even all) cannot be read by Window Builder. When I try to review the visual represantation of these dialogs – an empty page is displayed with message like “Unknown format...”. I suppose it happens because most of our dialogs do not inherit strictly from base jface classes but from self-made subclasses.
- - Window Builder adds some packages (I found 2 of them actually) to the project. They don't seem to be “heavy” but anyway I don't think it's correct.
- - Though the repository of the components is rich enough I couldn't find 1 component I needed for work with table control, so I had to implement it manually.
- - The parametrization of the control properties is not obvious (but it's very important for the multi-platform support) – maybe there is a mechanism to perform that but i couldn't find it quick enough.
3. Expected Benefits
Taking into account everything mentioned I would say that Window Builder is a good tool that can be very useful for creating new GUI parts or mock-ups for our application. But usually the proportion of GUI creation to the main logic design is about 30% to 70% efforts/time so we have to do the main part manually anyway. This fact together with described disadvantages holds me by the moment from giving this tool the status of “must have”.
Anyway I think that performed research is not enough as we have some more tasks where Window Builder could show itself from brighter side (especially if we look for a web-design tool).