A "Rich" Alternative for System i GUI Development
In all the fanfare Eclipse RCP has received there are a few things to bear in mind that aren't obvious until you have worked with Eclipse RCP up close and personally.
First, doing things Eclipse’s way is in the best interest of the developer. Figure out how to frame the application design in terms which are compatible with Eclipse. If the design works with the patterns of Eclipse then Eclipse provides a lot of help, development moves right along. If the design works against those patterns then Eclipse can get in the way. The moral is “every rich client application is not a candidate for Eclipse RCP.�
In terms of program maintenance and enhancement the patterns and structures imposed by Eclipse RCP works to the developer’s advantage. An Eclipse RCP application is governed by structures following life-cycle. Plug-ins are loaded under known situations in a specified order. There is lots of structure. Certain Eclipse classes have to be implemented. A developer coming in to maintain or extend an application developed with Eclipse RCP has a roadmap of how it was put together. Consider a purely Java application, all you can say for sure going into it is that the class executed by java.exe must have a main() method.
Second, Eclipse RCP still shows its heritage as an IDE tool. The good news is that it gets better each release. Some examples:
- the “current directory� starts out as .metadata, you have a .metadata folder whether you want one or not
- the fonts of the menu and pull downs are fixed
- the Eclipse RCP is going to revert to logging events in .metadata/.log, those names are hard coded.
Some would argue that a third “downside� to keep in mind is Eclipse RCP UI is based on the Eclipse SWT and not JFC (Swing). SWT, Standard Widgit Toolkit, is the UI presentation layer IBM developed for Eclipse then donated. There has been much controversy and Swing vs SWT discussions. I won’t get into that UI toolkit battle here except to say I am on the Eclipse SWT side.
The concern is the developer has to learn a second UI toolkit. In the last two years Eclipse has made it easier to bridge this divide. The class SWT_AWT has been available since Eclipse 3.0. SWT_AWT supports embedding Swing/AWT widgets inside SWT widgets.
Eclipse RCP gives you tools to produce high quality rich client applications but it does place constraints on the developer. I think that those constraints are more than compensated by what Eclipse RCP provides.
What do you think?
Posted by Bill Blalock at December 14, 2006 6:07 AM

| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
We welcome your comments and opinions and encourage lively debate on the issues. However, Penton Media reserves the right to delete or move any content that it may determine, in its sole discretion, violates or may violate its Terms of Use or is otherwise unacceptable. For more information, see Penton Media's Terms of Use.