Rich Client Platform (introduction)
by, 11-13-2011 at 06:37 PM (1343 Views)
The Eclipse Rich Client Platform (RCP) allows developers to use the Eclipse architecture to design flexible and extensible applications re-using a lot of already existing functionality and coding patterns inherent in Eclipse. Programmers can build their own applications on existing platforms. Instead of having to write a complete application from scratch, they can benefit from proven and tested features of the framework provided by the platform. Building on a platform facilitates faster application development and integration.
While the Eclipse platform is designed to serve as an open tools platform, it is architect 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.
The following will describe how to use this framework to develop applications.
For Eclipse the whole RCP Application is a plug-in. A RCP application requires:
· Main program
· A Perspective
· Workbench Advisor
A Workbench Advisor is an invisible technical component which controls the appearance of the application (menus, toolbars, perspectives, etc). Views are technical not required for a RCP application but in general an application without views does not make sense.
All plug-ins must provide a so-called manifest named "plugin.xml". This file is a xml file which can be edited via the PDE (Plug-in Development Environment) which provides a nice user interface for editing this xml file.
A RCP application extends the class org.eclipse.core.runtime.application. This represents the main program. The perspective is extended from org.eclipse.ui.perspective. Also required are the two central plug-ins: org.eclipse.core.runtime and org.eclipse.ui.
Eclipse RCP provides and uses the same framework as the Eclipse Workbench hence allowing the programmer to divide the application functionality into several plug-ins, to use existing extension points and to provide additional extension points. This concept of Eclipse allows every programmer to structure his RCP application into several independent components and to easily declare extensions to existing extensions points.