36
© 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht? Manfred Borzechowski Freier Java-Entwickler, Trainer und Berater

Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 1

Einführung Eclipse RCPVortrag für die berlin.jar...

der Java-Konferenz 2008 in Berlin

Wer spricht?Manfred Borzechowski

Freier Java-Entwickler, Trainer und Berater

Page 2: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 2

...und worüber?Nicht über Entwicklung mit EclipseKeine step-by-step RCP instructionsKaum Code-BeispieleSondern

Was Eclipse RCP ist, und Was angehende Eclipse RCP-Entwickler erwartet:

„Extensions“Neue GUI-BibliothekenEntscheidungenBauchschmerzen

Page 3: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 3

Eine Geschichte voller „Spannungen“

VisualAge for JavaSmalltalk & RepositoryIBM & WAS & J2EEFrei & Populär AWT & „Features“Fat

WebSphere Studio? & FilesMS & .NETProprietär & LukrativSwing & „Speed“Light

Es standen sich gegenüber:

Page 4: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 4

IDEs für Java und J2EEGemeinsame Basis durch geniale Modularisierung

Frei und LukrativJava-IDE frei: EclipseJ2EE-IDEs für WAS kommerziell

Speed und Features: SWT – eine native UI-Bibliothek

Fat und schnell und LightLazy loading, Update-Mechanismen

Aber wohl kein J2EE und .NET

Die Lösung

http://www.pythonfactory.com/downloads/Interview_Gamma_x_NW02_10.pdf

KompletteEclipse

IDELauncher

Page 5: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 5

Plug-ins und FeaturesDie Module von Eclipse

„Everything is a Contribution“Weit mehr als Firefox Add-onsDebugger, Compiler, Projektverwaltung, CVS,...

Bis auf:Launcher, Konfigurationsdateien

Verzeichnisse und Jars im Verzeichnis plugins

Erich GammaPattern Papst

Launcher

Page 6: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 6

Was braucht man für ein minimales Plug-in?Datei plugin.xml

Kein CodeIn Unterverzeichnis plugins

Oder neuerdings auch dropins

Start von Eclipse liest alle plugin.xmlListe mit Menü Help > About Eclipse Platform, Knopf Plug-in Details

Page 7: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 7

Zwei grundlegende Fakten!Was ist die RCP (Rich Client Platform)?

RCP ist ein rudimentäres Eclipse!Nur die allernotwendigsten Infrastruktur-Plug-ins

Runtime, Workbench, SWT und JFace

Was bedeutet Entwicklung für RCP?

RCP-Entwicklung ist Entwicklung einer Anwendung durch Plug-ins für dieses rudimentäre Eclipse!

völlig unabhängig von der Java-IDE

Launcher

Launcher

Page 8: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 8

Warum sollte ich RCP-Projekte machen?

Kunde braucht ModularitätAusbaustufen und Erweiterbarkeit

UI ist reichhaltig, ansprechend und flottPerspektiven, MPEs, Views, Coolbar, Preferences, Update-Mechanismen

Neue Kompetenz im ProfilAngebote im Gulp-Roboter: Swing 12, RCP 6http://www.gulp.de/robot/seek.html, Stand 2.9.2008

Es gibt auch Gründe dagegen

Page 9: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 9

OSGi – BundlesAbhängigkeiten: MANIFEST.MF definiert

Welche Versionen anderer Bundles verlangt sindWelche eigenen Packages in anderen Bundles sichtbar sind

Lifecycle: Bundles können geladen, gestartet gestoppt und ausgetauscht

„Bei Registrierung erhalten Sie LifecycleEvents“

Nicht durch JVM, sondern ContainerEquinox, Felix, Knopflerfish

„Jar-Sealing done right“

$ java -jar org.eclipse.osgi_3.3.2.R33x_v20080105.jar -consoleosgi> ssFramework is launched.id State Bundle0 ACTIVE org.eclipse.osgi_3.3.2.R33x_v20080105osgi> install file:///workspaces/osgi/tutorial/tutorialbundle.jarBundle id is 4osgi> start 4Apr 17, 2008 11:57:29 AM tutorial.TutorialActivator startINFO: startedApr 17, 2008 11:57:29 AM baselib.BaseService sayHelloINFO: Hello, world!

Page 10: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 10

Plug-ins sind OSGi BundlesHaben also eine MANIFEST.MF

Nennt die zwei benötigten Plug-ins der RCP:

Die ihrerseits weitere Plug-ins benötigen

Warum nur verlangt das Crystal Report Plug-in alte Eclipse-Bundle-Versionen?

Page 11: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 11

Ein RCP Template Projekt

New > Project... > Plug-in Project

... create Rich Client Application

z.B. RCP Mail TemplateGenerierte Projektinhalte

Run As > Eclipse Application

Konfigurations-dateien

Page 12: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 12

Konfiguration mit demPlug-in Manifest Editor

. . . .

.

.

.

Direkteditierung derKonfigurationsdateien

Links zu den Tabsunten links

Hier und daeine UtilityKonsistenz zum

Build Path

BenutztePlug-ins Benutzte

jars Was in die Workbencheingeklinkt wird

Infos für Manifest.MF

Page 13: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 13

I'm so lazy - but for a reason

plugin.xml enthält Beschreibung aller durch die Workbench verwalteten GUI-Elemente

Menüs, Actions, Wizards, Preferences, Views, Editoren, Key Bindings, ...Sogenannte Extensions

"Contributions are only loaded when they are needed"

Minimierung der Startup-ZeitDemo: Schmeiß den Kater 'raus

Erich GammaPattern Papst

Launcher

Page 14: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 14

Extension #1: Die Anwendung selbst

Template erstellt beispielhafte Implementierung

Mit mehreren Konfigurationsobjekten

Application

ApplicationWorkbenchAdvisor

ApplicationWorkbenchWindowAdvisor

ApplicationActionBarAdvisor

● Ruft PlatformUI.createAndRunWorkbench

● Soll die Perspective Bar gezeigt werden?

● Soll es Statusbar und Coolbar geben?

● Welche Actions sollen im Coolbar in jedem Falle vorhanden sein

● Welches ist die ID der ersten Perspektive● Soll sich das Fenster seine Position merken?

Page 15: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 15

Geschenkt: Standard Actions

Im ApplicationActionBarAdvisorErzeugen und registrieren vonInstanzen von Standard-Actions

Page 16: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 16

Extension #2: Die erste Perspektive

Layout der initial enthaltenen Views

Relativ zur EditorAreaViews nur über deren IDs u.U. nur für ersten Aufruf

C D A

B

Page 17: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 17

Extension #3Views

Für Inhalt sind sie selbst verantwortlich

Keine Extensionsondern echter, handgearbeiteter Code

Einsatz von JFaceViewer für Listen, Tabellen, BäumeEditoren nicht in Views

Einsatz von SWTMasken, Controls, Graphiken

Aber: Menüs und Kommandos sind separate Extensions

Behälter fürSWT-GUI

Es gibt ein Common Navigator Framework, aber...

Page 18: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 18

SWT – Simple/Standard Widget Toolkit

„AWT done right“Dünner Layer über native OberflächenkomponentenWindows-Oriented API

Native LibrariesNatives l&F und VerhaltenUnflexibel

„it pissed me off beyond words“http://www.builderau.com.au/news/soa/James-Gosling-Q-A/0,339028227,339176462,00.htm

Dr. André WeinandIBM, Eclipse Comitter

Component

ContainerPanel

FrameWindow

LayoutManager

Widget,Control

Composite

Shell

ButtonCheckbox

Button

TextFieldTextAreaText

FlowLayout

RowLayout

...

...

Layout

AWTSWTJames Gosling

Sun, Schöpfer von Java

Page 19: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 19

Was lernt man schon am ersten SWT-Beispiel?

Keine Beans

Style Bits :-(

Kein separater Thread

Ressourcen müssen disposed werden

Andere Styles

Page 20: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 20

SWT Layouts

RowLayoutähnlich FlowLayout

FillLayoutähnlich AWT GridLayout

GridLayoutähnlich AWT GridBagLayout

FormLayoutähnlich Swing SpringLayout

horizontalSpan = 3horizontalAlignment = GridData.FILLverticalAlignment = GridData.FILLgrabExcessVerticalSpace = trueheightHint = 50

horizontalAlignment = GridData.ENDverticalAlignment = GridData.BEGINNING

horizontalAlignment = GridData.END horizontalSpan=3horizontalAlignment = GridData.FILL

horizontalAlignment = GridData.FILLdata.grabExcessHorizontalSpace = true

data.horizontalAlignment = GridData.FILL;data.verticalAlignment = GridData.FILL;grabExcessVerticalSpace=trueheightHint = 100

Kann gleicheBreiten erzwingen

Page 21: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 21

SWT Listener – AuswahlUntypisiert

Auswahl des interessierenden Events durch Konstante

Von SWT :-(

TypisiertVerifyListener

Texteingabenwidersprechen

HelpListenerBei F1

TraverListener,... Tu es – oder lass es sein!

Suchbild: Findedie Event-Konstante

Page 22: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 22

SWT Ressourcen

Umsetzungs-ratschläge:

http://www.eclipse.org/articles/swt-design-2/swt-design-2.html

Handling mehrfach verwendeterRessourcen:

ResourceManagerRegistries

ResourceManager

JFaceResources

Page 23: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 23

JFace Viewer und ContentProvider

Grob vergleichbar den Models von Swing

IStructuredContentProviderGibt ein Array von anzuzeigenden ObjektenVerwendbar für Listen und Tabellen

Column-spezifisch durch LabelProvider

ITreeContentProviderGibt zusätzlich Kinder und Eltern

IStructuredContentProvider

ITreeContentProvider

IStructuredViewer

TableViewer AbstractListViewer

CheckboxTabelViewer

AbstractTreeViewer

TableTreeViewerTreeViewer

ListViewer ComboViewer

Page 24: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 24

JFace LabelProviderGrob vergleichbar mit den CellRenderern von Swing:

ILabelProviderGibt Text und Image für ein ObjektImage nur in Tabelle sichtbar, nicht in ListeEinfache Implementierung: LabelProvider

ITableLabelProviderGibt spaltenspezifischen Text und Image für ein Objekt

ILabelProvider

LabelProvider

ITabelLabelProvider

Page 25: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 25

Neue Widgets im NebelBrutstätte für neue SWT-Widgets

http://www.eclipse.org/nebula/

Grid hat mich nicht begeistertAlternativ: http://sourceforge.net/projects/ktable

originäre SWT-Lösungrichtig brauchbar

Page 26: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 26

...und ich etwas aus der anderen Welt brauche?

Wenn Bibliotheken Swing-GUIs bieten Einbinden mit Embedded Frames

OpenOffice.orgOOo kombinieren mit NOA – Nice Office Access

JFreeChartBietet selber (experimentellen) SWT-Support

Crystal ReportsAber nicht unter OS XOLE geht wohl auch, aber keine Erfahrung

Page 27: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 27

Views verdrahtenLose Kopplung bevorzugtÜber SelectionService

Viewer ist SelectionProvider View ist Listener

IStructuredSelectionITextSelectionITreeSelectionIMarkSelection

http://www.eclipse.org/articles/Article-WorkbenchSelections/article.html

Sele

ctio

n Se

rvic

e

Page 28: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 28

Extensions #4 bis #6: Command, Handler, Binding

CommandMöglicherweise mehrere Handler

Aber nur ein aktiver wird angesprochenKein Code

HandlerKonkrete Klasse für Command mit

execute-Methodeenabled-PropertyZustandslistenern

Zugriff auf HandlerUtilBinding

Optionale Tastenkombination für Command

Page 29: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 29

Extension #7: MenuSichtbare Einbettung eines Commands

In Views oder Workbench WindowDropdown Menü, Toolbar, Popup Menü

Konfiguriert durch Location URIEventuelle Bedingung durch <visibleWhen

View kann durch andere Plug-ins Einträge erhalten

Ort definiert durch „spezielle“ EinträgemenuManager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));

<menuContribution locationURI="popup:rcpTunes.views.container"><menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions">

Ersatz für:actionSetseditorActionspopupMenusviewActions

Page 30: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 30

Extension #8: EditorAngezeigter Inhalt wird wie View erstellt

Dirty-Zustand und Save-MetaphorKann in mehreren Instanzen geöffnet werden

Jeweils für IEditorInput

Kein Notwendigkeit daß es sich um Datei handeltirgendein textueller Inhalt dargestellt und bearbeitet wird

public void createPartControl(Composite parentComposite) {

Page 31: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 31

Extension #9: Preference Page

Von FieldEditorPreferencePage ableitenEditoren mit Label hinzufügen

Außerdem: PreferenceStoreVorinitialisieren Auslesen

Page 32: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 32

Extension #10: ProductSammelsurium von Properties

Zum Gebrauch innerhalb der Anwendung

In separater .product-KonfigurationsdateiSplash-ScreenOptionen für Linux, Solaris, MacOS X, WindowsLauncher-NameIcons

Nötig für den Produktexport

windowImagesaboutImageaboutTextappNamewelcomePage

Page 33: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 33

Extension #11: Helphttp://www.eclipse.org/articles/article.php?file=Article-AddingHelpToRCP/index.html

plugin.xml referenziert toc.xml-DateienNennen Themen und UnterthemenReferenzieren Hilfe-texte im HTML-Format

ActionBarAdvisor registriert HelpActions

Benötigte weitere Plug-ins

showHelpAction = ActionFactory.HELP_CONTENTS.create(window); searchHelpAction = ActionFactory.HELP_SEARCH.create(window); dynamicHelpAction = ActionFactory.DYNAMIC_HELP.create(window);

<toc label="Sample Table of Contents"><topic label="Main Topic" href="html/maintopic.html"> <topic label="Sub Topic" href="html/subtopic.html"/> </topic><topic label="Main Topic 2"/></toc>

Page 34: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 34

Follow me ... which way?

Viele Plug-ins Modularität und SeparationVerzahnung durch eigene Extension Points

Ein Plugin, sonst herkömmliches, programmatisches VorgehenListener, Models, Events, Observer,

Classic Road

Eclipse Avenue

Launcher

Launcher

Page 35: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 35

Bauchschmerzen #1Deklaratives Programmieren in XML

Schema, aber keine API-DOCMuss ich gar das Framework debuggen?Keine Code Completion von CDATA

kleiner Ersatz: Wizard im Plug-in Editor

4 Konfigurationsdateien pro Plug-in müssen zusammenspielen

.classpath, plugin.xml, build.properties, manifest.mfAchtung: mit übergreifenden Abhängigkeiten

Zusätzlich: Launch-Konfiguration

Page 36: Wer spricht? · 2018. 6. 9. · © 2008 by EDV-Beratung Manfred Borzechowski 1 Einführung Eclipse RCP Vortrag für die berlin.jar... der Java-Konferenz 2008 in Berlin Wer spricht?

© 2008 by EDV-Beratung Manfred Borzechowski 36

Bauchschmerzen #2Hoher Lernaufwand

auch für sehr erfahrene Java-EntwicklerAbsolutes Overengineering für kleine Anwendungen

Interface > IAdaptable > AdaptorFactoriesEinschränkungen der verfügbaren Widgets

Button mit Icons? Tab disablen?Bugfixes je nach Wichtigkeit für EclipseFeature-Stabilität

3.3 Commands statt Actions3.4 Neuer Update-Mechanismus