Überblick Eclipse RCP
Die Eclipse Rich Client Platform ist ein Framework zur Realisierung von modularen Desktop-Anwendungen. Es stellt eine allgemeine Infrastruktur für solche Anwendungen bereit, die vom Entwickler um die eigenen Anwendungsbestandteile erweitert wird.
Entstanden ist Eclipse RCP aus der Eclipse IDE. Alle Bestandteile der IDE, die zum Entwickeln von Software dienen, wurden von allgemeingültigen Komponenten getrennt. Die IDE-unabhängigen Komponenten werden separat als Eclipse Rich Client Plattform bereitgestellt und können als Grundlage für eigene Anwendungen verwendet werden.
Komponenten der Eclipse RCP Plattform
Folgende Komponenten machen die Eclipse RCP-Plattform aus:
-
OSGi/Equinox
OSGi ist ein standardisiertes Java-Framework zur Entwicklung von modularen Anwendungen. OSGi stellt eine Laufzeitumgebung für Software-Module (sog.
BundlesoderPlug-ins) bereit. Eclipse-Anwendungen basieren auf der Eclipse-eigenen OSGi-ImplementierungEclipse Equinox. -
Eclipse Core Runtime
Core Runtime stellt allgemeine, nicht UI-bezogene Funktionalitäten für Eclipse-Anwendungen bereit. Sie verwaltet u.a. den Lebenszyklus von Eclipse-Anwendungen, ist also für den Start und die Initialisierung der Anwendung verantwortlich.
-
Standard Widget Toolkit (SWT)
SWT ist das UI-Toolkit der Eclipse-Plattform. Eclipse RCP Anwendungen basieren nicht auf dem Java-GUI-Framework
Swing, sondern verwenden mit SWT ein eigenes GUI-Framework, welches die nativen UI-Widgets des zugrundeliegenden Betriebssystems verwendet. -
JFace
SWT beschränkt sich als UI-Toolkit auf eine minimale Abstraktionsschicht über dem UI-Layer des Betriebssystems. Weitergehende Funktionalitäten wie die Befüllung der UI-Komponenten anhand von Java-Modellobjekten werden in JFace bereitgestellt.
-
Eclipse UI
Basierend auf den genannten Komponenten stellt
Eclipse UIdie sogenannteWorkbenchbereit. Darunter kann man sich die “Eclipse IDE ohne Inhalte” vorstellen - eine leere, grafische Anwendung, die die von der IDE bekannten Bedienkonzepte wie View- und Editor-Reiter, Perspektiven, Menüstrukturen etc. bereitstellt. Dieser leere Anwendungsrahmen ist zur Befüllung durch Anwendungs-Plug-ins bestimmt. So erweitern die Plug-ins der Eclipse IDE die Workbench um die Funktionalitäten, die für die Softwareentwicklung notwendig sind. Ihre eigenen Plug-ins auf der Grundlage von Eclipse RCP werden die Workbench hingegen mit Inhalten befüllen, die für Ihre Anwendungsfälle relevant sind. -
Optionale Komponenten
Zusätzlich zu diesen immer vorhandenen Komponenten gehören zur Eclipse RCP-Plattform einige optionale Komponenten, z.B. ein Hilfesystem, Update-Manager sowie eine Komponente zur Realisierung web-ähnlicher Formulare (Forms).
Vorteile der RCP-Plattform
- Eclipse RCP bietet ausgereifte Basiskomponenten für GUI-Anwendungen, die sich in vielen Anwendungsfälle bewährt haben.
- Die Workbench stellt ein einheitliches, durchdachtes Bedienkonzept bereit. In den Grundzügen sind RCP-Anwendungen daher sehr konsistent, Endanwender müssen sich in die grundlegende Bedienung von RCP-Anwendungen nur einmalig einarbeiten.
- Die Grundstrukturen für den Aufbau einer GUI-Anwendung sind durch das Framework vorgegeben und müssen nicht erst geschaffen werden.
- Die Plattform ist konsequent auf Modularität und Erweiterbarkeit hin ausgelegt. Dies ist insbesondere ein Vorteil für größere Anwendungen, die in kleinere Module aufgespalten werden müssen, um überschaubar zu bleiben.
- Erweiterungen auf der Grundlage der Eclipse RCP-Plattform können zusammen harmonieren, ohne einander zu kennen. So können Anwendungen in verschiedenen Ausstattungsvarianten ausgeliefert werden oder getrennt entwickelte Plug-ins später ohne größere Konflikte zu einer Anwendung verschmolzen werden.
- Benötigte Tools zum Schreiben von Erweiterungen für Eclipse RCP sind nahtlos in die Eclipse IDE integriert (
Eclipse for RCP/Plug-in Developers). - Die Eclipse-Projekte haben in den vergangenen Jahren eine sehr gute Stabilität und Konsistenz hinsichtlich der Veröffentlichung von neuen Versionen bewiesen. Jährlich erscheint ein neues Release (zuletzt Eclipse 3.5 Galileo), welches die vielen unabhängigen Eclipse-Projekte zu einem gemeinsamen Termin veröffentlichen. Mit 3.x Releases wird dabei die Rückwärtskompatibilität aller APIs gewährleistet. Das heißt, der Aufwand für das Update auf eine neue Version der Plattform hält sich in Grenzen und ist gut planbar.
- Eclipse RCP steht unter der Eclipse Public License (EPL), eine liberale Open Source-Lizenz, die auch den kommerziellen Einsatz des Frameworks erlaubt. Die Eclipse Foundation verwaltet das
Intellectual Property (IP)der Eclipse Code-Basis sehr strikt, d.h. es ist wird sichergestellt, dass sämtlicher Code von den jeweiligen Urhebern zu den Bedingungen der EPL bereitgestellt wird. - Um die Eclipse-Plattform herum hat sich ein ausgeprägtes Ökosystem mit kommerziellen Anbietern, z.B. für Erweiterungen, Tools, Support und Schulungen, entwickelt.
Tutorial: Hello RCP
Als Einstieg in die RCP-Entwicklung bietet es sich an, zunächst eine Hello World-Anwendung zu erstellen.
Dazu wird die Eclipse IDE for RCP/Plug-in Developers benötigt, herunterzuladen von der Eclipse-Downloadseite http://www.eclipse.org/downloads/.
Eclipse RCP-Anwendungen sind modular aufgebaut und bestehen aus Plug-ins (häufig auch als Bundle bezeichnet). Wir werden den zugrundeliegenden Plug-in Mechanismus im Kapitel 2. “Plug-in basierte Entwicklung mit OSGi” ausführlich behandeln.
Die Entwicklung von Plug-ins erfolgt auf der Grundlage einer Target Platform. Diese enhält alle Plug-ins, die in den eigenen Plug-ins und Anwendungen verwendet werden können. Standardmäßig ist die Target Platform für die Entwicklung von Plug-ins für die Eclipse IDE konfiguriert. Konfigurieren Sie daher zunächst eine Target Platform für die Entwicklung von RCP-Anwendungen:
- Fügen Sie unter
Window > Preferences > Plug-in Development > Target Platformeine neueTarget Definitionhinzu.
-
Wählen Sie das Template
Base RCP (with Source):
-
Wählen Sie die soeben erstellte
Target Definitionaus:
Nun kann es an die Erstellung des Plug-ins gehen:
-
Wählen Sie
File > New > Project > Plug-in Development > Plug-in projectum ein neues Plug-in-Projekt zu erstellen. Geben Sie als Projektname “com.example.hellorcp” an und wählen Sie “This plug-in is targeted to run with Eclipse version 3.5” aus:
-
Wählen Sie im folgenden Schritt
Would you like to create a rich client application?“Yes” und belassen alle anderen Einstellungen auf den Standard-Einstellungen (wir werden alle Optionen in den folgenden Kapiteln kennenlernen):
-
Wählen Sie als Template “Hello RCP” aus.
-
Starten Sie die erstellte Anwendung in dem automatisch geöffneten Reiter mit
Launch an Eclipse application:
-
Die Anwendung sollte nun starten und ein leeres Fenster anzeigen:

Eclipse RCP eBook