Which are the reasons to choose the Eclipse Rich Client Platform as the base of my application, instead of just using SWT/JFace?
JFace is window-system-independent in both its API and implementation, and is designed to work with SWT without hiding it. JFace includes the usual UI toolkit components of image and font registries, text, dialog, preference and wizard frameworks, and progress reporting for long running operations.
The Rich Client Platform (RCP) is an exciting new way to build Java applications that can compete with native applications on any platform. This tutorial is designed to get you started building RCP applications quickly. It has been updated for Eclipse 3.1.2.
Eclipse RCP is not just a GUI (SWT/JFace), but an OSGi-based platform.
So, you would choose the RCP framework in order to:
If your application is just one monolithic GUI font-end, RCP might be a bit overkill.
In additions to points that VonC has pointed out (OSGi platform goodies: modularity, classloader isolation, extensible architecture), the Eclipse RCP provides many application level services that might ease the overall development of your final product:
With Eclipse RCP you'll get:
Of course - the latter part does not necessarily mean you have to use the behemoth that is Eclipse RCP platform to gain the advantages those offer.
Depending on the scope of your application, you might do well to just use Equinox as an underlying OSGi container and build your own GUI client on top of that.
Also keep in mind that Eclipse RCP is no more the only game in town when making a decision of GUI frameworks in SWT/JFace land. There are serious contenders that might suite your needs better:
Edit: Eclipse e4 project has graduated from being just a work in progress since my original answer was posted and now has become a fully usable rich client application framework/platform of its own. It has matured to the point where it is now being used as an underlying platform for the latest Eclipse 4.2 (Indigo) IDE.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With