20.11. Rich Client Platform
Even though Eclipse started life with the mantra "an open extensible IDE (integrated development environment) for anything but nothing in particular" (from www-128.ibm.com/developerworks/opensource/library/os-plat), it did not stop there. The first major refactoring of the Eclipse platform involved separating the generic tool elements from the IDE-specific elements so that it became a framework for more than just Java development. The Rich Client Platform represents the second major refactoring of the Eclipse platform, separating the application infrastructure such as views, editors, and perspectives, from the generic tool elements. After this latest restructuring, the Eclipse IDE rests on a generic tooling framework which in turn rests on a generic application framework called the Rich Client Platform, or simply RCP.
RCP at its core consists of a small handful of plug-ins or bundles providing a basic application framework including action sets, perspectives, views, and editors without any of the tooling or IDE-specific aspects such as source editing, refactoring, compiling, or building. Any of the tooling and IDE-specific plug-ins can be used as part of an RCP application but are not necessary. Everything that has been covered so far from actions and views to cheat sheets and jobs is part of building an RCP application, but there is still more. The book, Eclipse Rich Client Platform (McAffer and Lemieux 2005), forms a perfect companion to this book, providing additional detail specific to RCP applications.