The Platform UI project is responsible for the runtime, user interface and help components of Eclipse. Platform UI provides the basic building blocks to create the Eclipse IDE and other Eclipse based applications called Rich Client Platform (RCP). The Eclipse IDE is just one instance of an RCP application, but it demonstrates the power and extensibility achievable by RCP applications.Some of the components provides by Platform UI can be reused in arbitrary applications, while others are specific to the Eclipse IDE. Examples these components are the Eclipse services, the dependency injection framework, the CSS engine, JFace and much more.
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 databinding and viewers. Databinding allows to synchronize arbitrary properties of objects. 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.
For more details on the Rich Client Platform and other components available for use in RCP applications, see the RCP wik page.
If you are interested in participating in the development of the UI component, check out the wiki page on how to contribute
- For Platform UI developers, check out the Development Resources