Platform UI consists of several components, which provide the basic building blocks for user interfaces built with Eclipse. Some of these can be reused in arbitrary applications, while others are specific to the Eclipse IDE.
Two of the Platform UI components form the Rich Client Platform UI. These are JFace and the Workbench. JFace and the Workbench can be used to build arbitrary applications, not just the Eclipse IDE. The Eclipse IDE is just one instance of an RCP application, but it demonstrates the power and extensibility achievable by RCP applications.
JFace is a UI toolkit with classes for handling many common UI programming tasks. 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. Two of its more interesting features are actions and viewers. The action mechanism allows user commands to be defined independently from their exact whereabouts in the UI. Viewers are model based adapters for certain SWT widgets, simplifying the presentation of application data structured as lists, tables or trees.
The Workbench provides the user interface structure for Eclipse. The purpose of the Workbench is to facilitate the seamless integration of tools. These tools contribute to extension points defined by the Workbench. The Workbench is responsible for the presentation and coordination of the user interface. The tools metaphor is not specific to development tools, but can apply equally well to arbitrary applications. Note that the Workbench is sometimes called the Generic Workbench, to distinguish it from its instantiation in the Eclipse IDE, where it is called the IDE Workbench.
Platform UI also provides the IDE application plug-in, which instantiates and configures the Generic Workbench to form the IDE Workbench, on top of which lies the rest of the Eclipse IDE Platform and the Eclipse SDK (including the Java Development Tools and Plug-in Development Environment). Unlike the Generic Workbench, the IDE application plug-in is intended only for use in the IDE Platform, and is not designed as a reusable component for use in other RCP applications.
Platform UI does, however, provide some other components that can be reused in other RCP applications. These are:
- the Outline and Properties views
- the Console view
- the Welcome Page / Intro support, with guided assistance
- Cheat Sheets, which guide the user through a long-running, multi-step task
For more details on the Rich Client Platform and other components available for use in RCP applications, see the [[Rich Client Platform][RCP Home Page]] and the RCP FAQ.