Frage zum RCP Plugin-Mechanismus.

rcpFuchs

Mitglied
Unter dem RCP Plugin-Mechanismus habe ich bis jetzt immer folgendes verstanden.

Man erstellt ein RCP Projekt. Dort erstellt man ein Element, sei O.B.d.A ein View. Anschließend einen Extension Point.
Will man nun ein Plugin für dieses Projekt erstellen erstellt man immer ein Plugin, das diesen Extension Point erweitert. Natürlich ist das keine komplette Anleitung, aber wer RCP kennt weiß welches Prinzip ich meine.

Jetzt habe ich spaßeshalber mal ein leeres RCP Projekt angelegt und noch zwei andere mit jeweils einer Perspektive und einem View und habe die Projekte zusammen gestartet.

Jetzt entsteht so ein „remix“ aus aus den drei Projekten, ich denke mal dies ist gewollt. Und auch so etwas wie ein Plugin-Mechanismus.

Ich habe nur nicht ganz die Vorteile verstanden. Was genau benutze ich für welche Aufgaben.

Grüße
 

Wildcard

Top Contributor
Der Vorteil von RCP? Das du tonnenweise Code geschenkt bekommst.
RCP stellt die Anwendungsplatform die dann für beliebige Arten von Anwendung verwendet werden kann.
Anschlaulich wird es IMO durch die folgende Unterscheidung:
Es gibt extensible Applications wie zB Firefox und extension based Applications wie Eclipse.
Der Unterschied ist leicht erklärt, bei Firefox lässt sich die Core Funktionalität (Browser) durch Plugins erweitern. Bei einer extension based Applikation gibt es keine Core Funktionalität, die Plugins selbst bestimmen was die Anwendung tut.
Eclipse ist also keine IDE, sondern eine General Purpose Platform. Die Eclipse Java IDE ist ein Anwendungsfall für diese Platform, also ein RCP.
 

Mohackl

Mitglied
Greets,

Es gibt den Extensionpoint "org.eclipse.core.runtime.applications". Mit diesem definierst du Einstiegspunkte für ein Programm. Innerhalb einer Product-Deklaration verweißt du auf eine, und nur eine Applications-ID.

Daher ist es ratsam sich ein Plugin sozusagen als "Core"-Plugin zu denken. Dieses sollte die grundlegende Aufteilung und Menüstruktur für das Programm bereitstellen und auch eine applications-Extantion beschreiben. Das ist zwar nicht zwingend, aber es macht die Entwicklung in meinen Augen einfacher.

Nun können weitere Plugins geschrieben werden. Diese können z.B. so angelegt sein, dass sie die Aufteilungen des "Core"-Plugins nutzen, deren Menüs erweitern usw. Sie können aber auch eigene Menüs zufügen, neue Perspektiven/Views usw. beitragen.

Ein Beispiel.
Mein Core-Plugin stellt ein Menü "Hilfe" unter der locationURI "menu:eek:rg.eclipse.ui.main.menu", also der Hauptmenüleiste zur Verfügung. Auch stellt es eine View mit der ID "org.java-forum.beispielplugin.views.beispielview" zur Verfügung die in einem TableViewer die Titel aller in den letzten 24 Stunden geschriebener Beiträge vom Java-Forum darstellt. Der TableViewer definiert ein Rechtsklickmenü und meldet dies unter der ID "popup:eek:rg.java-forum.beispielplugin.views.beispielview" an.

Nun kann ich ein Plugin schreiben und diese Punkte als Ansatzpunkte verwenden. So kann ich die MenüID "menu:eek:rg.eclipse.ui.main.menu" nutzen um ein Menü "Hilfe" mit einem Command "Über das Plugin xy" zu erweitern. Kann einen Button an die View-Toolbar setzen der eine neue Funktionalität freischaltet. Auch kann ich das Rechtsklickmenü erweitern das den TableViewer nutzt.

Das ist der wirkliche Vorteil in meinen Augen. Gut durch Features getrennt und durch einen Updatemechanismus wie z.B. P2 unterstützt kann ich so Applikationen ohne Angst zu haben bereits bestehendes unbrauchbar zu machen erweitern.


Soweit mein Eindruck,
Mohackl
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
hdi Frage zu Eclipse Plugin Development Plattformprogrammierung 12
G Frage zu Eclipse Plugin Plattformprogrammierung 5
H Frage zur Verwendung des RCP Plattformprogrammierung 16
L RCP Frage zur CNF und ProjektExplorer? Plattformprogrammierung 3
Kr0e Allgemeine NetBeans Platform Module Frage Plattformprogrammierung 13
G Frage zu IEditorInput Plattformprogrammierung 21
hdi Frage zu Target Platform Plattformprogrammierung 15
N Noch eine Frage zu GEF Plattformprogrammierung 5
S Frage zum Produktexport von Eclipse RCP Plattformprogrammierung 13
G Frage zu Eclipse Adapter Mechanismus Plattformprogrammierung 2
M Eclipse Plugin PreferencePage BooleanFieldEditor Plattformprogrammierung 1
F OSGi Plugin unter Eclipse arbeitet anders als wenn veröffentlicht Plattformprogrammierung 2
R Aktuelle Datei in Plugin bearbeiten Plattformprogrammierung 2
Farbtopf Tomcat durch anderes Plugin neustarten Plattformprogrammierung 0
Farbtopf Plugin Wunsch Plattformprogrammierung 0
J Charset-Problem nach Plugin-Export Plattformprogrammierung 1
J RCP File Path von selected File in Package Explorer für RCP Plugin Plattformprogrammierung 2
TheWhiteShadow RCP Problem mit Plugin Interaktion Plattformprogrammierung 6
R Einfaches Eclipse-Plugin-Beispiel funktioniert nicht Plattformprogrammierung 5
C plugin development environment eclipse Plattformprogrammierung 4
M Keybinding in Eclipse Plugin Plattformprogrammierung 3
M RCP Plugin Extension Point ist NULL Plattformprogrammierung 7
B Eclipse Plugin Einstellungsleiste Plattformprogrammierung 2
M Plugin - Property Page - Get IResource in View Plattformprogrammierung 4
O Eclipse Plugin - Einfachstes Problem, das es gibt. Plattformprogrammierung 2
L RCP Plugin Template erweitern Plattformprogrammierung 2
I Plugin Testen mit Fragment Project Plattformprogrammierung 2
3 Eclipse Editor Plugin selektiert Projekt nicht Plattformprogrammierung 10
A OSGi Plugin als Service exportieren und verwenden Plattformprogrammierung 12
D Plugin - Properties ohne PropertyPage speichern Plattformprogrammierung 11
T RCP Eclipse RCP: Wo/wann im Plugin ist workbench initialisiert? Plattformprogrammierung 14
V Eigenständige Applikation als Jar in Plugin einbinden Plattformprogrammierung 2
D Plugin - JUnit - Tests aus einem anderen Projekt ausführen Plattformprogrammierung 7
F [FileLocator] Verzeichnisse im Plugin Plattformprogrammierung 2
L RCP Plugin mit häufig benutzen third libraries Plattformprogrammierung 11
C Eclipse Plugin NoClassDefFoundError Plattformprogrammierung 4
M Eclipse Plugin Entwicklung - NoClassDefFoundError Plattformprogrammierung 10
C Eclipse Plugin Entwicklung: Editor für Flussdiagramme Plattformprogrammierung 6
F Ecilpse plugin und MWE Workflow: classpath Problem Plattformprogrammierung 12
M RCP Aktivierung eines CommandHandlers, Änderungen in der plugin.xml wirken sich nicht aus... Plattformprogrammierung 2
B RCP eigenes Eclipse Plugin wird nicht aufgelöst Plattformprogrammierung 7
P Wie bekomme ich ICompilationUnit aus dem event? bei Eclipse-Plugin Plattformprogrammierung 3
M RCP Resources Plugin nutzen und erweitern... aber wie? Plattformprogrammierung 6
X Datei in einem Eclipse Projekt über Plugin zugreifen Plattformprogrammierung 2
J Plugin wird nicht mit gestartet Plattformprogrammierung 4
D Team Plugin Erweiterung Plattformprogrammierung 4
L RCP Plugin als Bundle geklarieren? Plattformprogrammierung 3
D Canvas auf View in Eclipse PlugIn Plattformprogrammierung 3
M Eclipe RCP-Application oder Plugin Einstieg Plattformprogrammierung 6
O Problem mit relativen Pfaden in einem RCP-Plugin Plattformprogrammierung 5
hdi Plugin Icon wird nicht angezeigt Plattformprogrammierung 7
H Bibliotheken in Eclipse-Plugin-Projekt verwenden. Plattformprogrammierung 18
T Java Rcp Plugin laden Plattformprogrammierung 4
H Eclipse-Plugin erstellen Plattformprogrammierung 22
hdi Schwierigkeiten mit Plugin für EPF (Eclipse Process Framework) Plattformprogrammierung 3
S Plugin: View beim Button-Klick austauschen Plattformprogrammierung 7
M Fehler bei Plugin Export für eigene Target Platform Plattformprogrammierung 3
hdi Problem bei Eclipse Plugin Export Plattformprogrammierung 9
H Eclipse Plugin Dateihandling Plattformprogrammierung 2
S Plugin Abhängigkeiten/Circle References Plattformprogrammierung 6
G Plugin einbindung Plattformprogrammierung 9
T Erstellen eines "Ersetzten Plugin" aus GEF Plattformprogrammierung 2
S RCP Anwendung nicht weiterladen bei Exception in Plugin Plattformprogrammierung 2
A Eclipse Plugin Programmierung Dateien Refreshen Plattformprogrammierung 2
F Eclipse Plugin - Rückgabewert einer Methode Plattformprogrammierung 4
M Klasse aus PLugin /Fragment anhand von String laden Plattformprogrammierung 3
M Problem beim Zugriff auf Klasse aus Fragment in einem anderen Plugin Plattformprogrammierung 3
T Plugin eines bestehenden Editors hinzufügen Plattformprogrammierung 2
R Eclipse RCP - Plugin erstellen Plattformprogrammierung 2
lumo [Eclipse RCP] Plugin OHNE visuals Plattformprogrammierung 7
S In einem Plugin main einer anderen Klasse aufrufen Plattformprogrammierung 18
N Mit Plugin externe Dateien liefern Plattformprogrammierung 6
R Eclipse RCP vs. Plugin Entwicklung Plattformprogrammierung 5
K Einträge von einem PlugIn unterbinden. Plattformprogrammierung 6
B Eclipse plugin fuer dummys Plattformprogrammierung 11
P ViewPart dynamisch (Install/Deinstall Plugin) anzeigen in Perspektive? Plattformprogrammierung 12
N Eclipse RCP Plugin aus jar starten Plattformprogrammierung 7
M Eclipse Plugin Depedencies auslesen... Plattformprogrammierung 14
reibi Edclipse PlugIn-Entwicklung Plattformprogrammierung 21
N plugin als dependencie Plattformprogrammierung 3
N Benutzen von eigene Plugin im Plugin Plattformprogrammierung 36
N plugin dependencies innerhalb eines projects halten Plattformprogrammierung 11
R Wo/Wie Eclipse Plugin einhängen für Jar-Export? Plattformprogrammierung 14
Spot84 compareeditor in eclipsercp plugin verhält sich komisch Plattformprogrammierung 3
M Plugin wird nicht mehr geladen Plattformprogrammierung 3
M Dateien in PlugIn ansprechen Plattformprogrammierung 12
N einfaches Projekt in Plugin umwandeln Plattformprogrammierung 3
V [erledigt] Eclipse plugin startet nicht Plattformprogrammierung 3
M External JARs in Plugin Plattformprogrammierung 5
N preference page plugin Plattformprogrammierung 3
N programm in plugin umwandeln Plattformprogrammierung 3
N plugin architektur Plattformprogrammierung 15
S Eclipse-Plugin + Velocity + Files lesen Plattformprogrammierung 3
dzim immer noch Probleme bei PlugIn-Integrierung Plattformprogrammierung 2
C AST (Abstract Syntax Tree)-Generierung für Eclipse-Plugin Plattformprogrammierung 5
M Plugin JUnit Test Plattformprogrammierung 4
F RCP und JMF PlugIn Registrierung Plattformprogrammierung 6
R Plugin-Lokalisierung für Ganymede Plattformprogrammierung 12
G Plugin Export Plattformprogrammierung 4
V Javadoc an Eclipse Plugin anfügen Plattformprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben