Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Rich Client Platform
While the Eclipse platform is designed to serve as an open tools platform, it is architected so that its components could be used to build just about any client application. The minimal set of plug-ins needed to build a rich client application is collectively known as the Rich Client Platform.
Applications other than IDEs can be built using a subset of the platform. These rich applications are still based on a dynamic plug-in model, and the UI is built using the same toolkits and extension points. The layout and function of the workbench is under fine-grained control of the plug-in developer in this case.
For more details on what is included in the Rich Client Platform, see the RCP FAQ.
The Eclipse community has put together a set of case studies highlighting the use of RCP technology in a variety of real-world settings. More are being added all the time so visit page from time to time to see what's new.
Books on Eclipse RCP using 4.x API
- "Eclipse 4 RCP" by Lars Vogel.
Tutorials for Eclipse RCP with Eclipse 4 API
- Eclipse RCP Tutorial, Tutorial by Lars Vogel
- Eclipse 4 (e4) RCP Tutorials, Tutorials by Jonas Helming
Tutorials covering older API levels
- Eclipse 3.x RCP Tutorial, Tutorial by Lars Vogel
- Eclipse RCP Tutorials, Eclipse RCP Tutorials from Program Creek
- EclipseCon 2009 -Advanced RCP (6.1 MB PDF) by Kai Tödter
- EclipseCon 2008 - Advanced RCP (2.75 MB PDF) by Kai Tödter
- EclipseCon 2007 - A lot of great high-level presentations as well as certain development aspects (RCP Track)
- EclipseCon 2006 - Rich Client Platform Tutorial by Jeff McAffer and Jean-Michel Lemieux (PDF)
- Screencast: Why You Should Be Using Eclipse RCP
- Smart Client development with the Eclipse Rich Client Platform (PDF) (PPT) by Nick Edgar and Pascal Rapicault, presented at JAOO 2005.
The source for the accompanying "Go Wild Travel - Adventure Builder RCP Client" example is being cleaned up, and will be posted shortly.
- Developing for the Rich Client Platform (PDF) by Nick Edgar and Pascal Rapicault, from their tutorial presented at EclipseCon, February 28, 2005.
- Eclipse Rich Client Applications - Overview of the Generic Workbench (PDF) (PPT) by Nick Edgar, presented at EclipseCon, February 2004.
- Eclipse RCP Runtime (PDF) by Jeff McAffer, presented at EclipseCon February 2004.
- Eclipse Rich Client Platform (Zip) by Ed Burnette, presented at the RTP Websphere Users Group, August 2004.
- The Eclipse Rich Client Platform (PPT) by various members of the Eclipse JDT and Platform teams, last updated November 5, 2004.
- The Eclipse Rich Client Platform (HTML) by Chris Laffra, presented at the Colorado Software Summit, October 2004.
- Eclipse-based Applications: Java on the Desktop Revisited (PDF) by Todd E. Williams, Paul May, and Giovanni Farris, presented at EclipseCon February 2004.
- Eclipse Provides Tool Integration Framework (HTML) by Todd E. Williams and Mark R. Erickson, published in EE Times, September 2003.
The following are relevant help topics from the Platform Plug-in Developer Guide (from within the Eclipse IDE: Help > Help Contents > Platform Plug-in Developer Guide). The links below are to the online Eclipse 3.1 help.
- Building a Rich Client Platform application
- Defining a Product
- Plugging into the workbench
- Runtime overview
- SWT - Standard Widget Toolkit
- JFace UI Framework
- Dialogs and wizards
- Advanced Workbench Concepts
- API rules of engagement
- Runtime options
- Map of Platform Plug-ins
- Eclipse 2.1->3.0 and 3.0->3.1 Plug-in Migration Guides
The following eclipse newsgroups have useful discussions, questions and answers relevant to the development of RCP applications.
If you have a question, please check the RCP FAQ before posting to the newsgroups. Kindly avoid posting to the developer (*-dev) mailing lists as these are intended for use by the development teams and others participating in the development of Eclipse itself.
- news://news.eclipse.org/eclipse.platform.rcp - For questions specific to the development of RCP applications. Also available via EclipseZone.
- news://news.eclipse.org/eclipse.platform - For general Workbench and JFace questions that could apply both to RCP applications and IDE plug-ins. Also available via EclipseZone.
- news://news.eclipse.org/eclipse.platform.swt - For SWT-specific questions. Also available via EclipseZone.
The following are some examples showing how to build applications using RCP:
Several applications have been built using the Rich Client Platform.
- The RCP Applications section of the Eclipse Community page lists several apps, including case studies of a few.
- NASA/JPL is using Eclipse RCP as the foundation of their next version of Maestro, and more. See the case study, session 11.3 - "A Martian Eclipse" at EclipseCon 2005, and Scott Schram's blog entry on the presentation. Jeff Norris from NASA/JPL also wrote a nice foreword to the RCP Book.
The following are other resources describing the Eclipse Rich Client Platform, or related subjects:
- RCP page on the Eclipse Community Wiki
- Eclipse Tutorials Articles around Eclipse and Eclipse RCP
- ProgramCreek Articles and tutorials on the Eclipse RCP Topic
Elsewhere at eclipse.org
Content is in the process of being migrated here from the old RCP Home Page.
Original Design Documents
The following are the original design documents for the RCP work done in Eclipse 3.0. They are somewhat out of date and are provided here mainly for historical interest. The tutorials and help topics above provide better materials for getting started with RCP.
- Original plan item in Bugzilla: Enable Eclipse to be used as a rich client platform
- Executive Summary of the Eclipse Rich Client Platform UI (includes excerpts from the documents below)
- Statement of Direction for the Eclipse Rich Client Platform UI
- Eclipse Rich Client Platform UI Proposed Approach
- Overview of the Generic Workbench
- Generic Workbench Plug-in Structure