Die Eclipse Rich Client Platform

Die Eclipse
Rich Client Platform
Martin Lippert
Consultant und Coach
[email protected]
Historisches
• „Eclipse is a universal platform for
integrating development tools”
Plugin Development Environment
PDE
Java Development Tooling
JDT
Platform (grundlegende Konzepte)
Platform
Java VM
1
Die Eclipse Rich Client Platform
Non-IDE Applications
• Viele Konzepte und Frameworks der
Eclipse-Platform sind auch für nicht-IDEAnwendungen interessant, wie z. B.:
•
•
•
•
2
Plugin-Modell
UI-Frameworks
Help-System
…
Die Eclipse Rich Client Platform
Aber…
• … in Eclipse 2.1 ließ sich die Platform
nicht entkernen:
• Einige IDE-Konzepte blieben an der
Oberfläche weiterhin sichtbar
• z. B. Project-Menu, Builder, …
3
Die Eclipse Rich Client Platform
Bug #36967
4
Die Eclipse Rich Client Platform
Eclipse als universelle Plattform
• Ein Ziel in Eclipse 3.0 war es, die Plattform
aufzuteilen:
¨ Soviel wie möglich von der Platform nutzbar
machen für generelle ApplikationsEntwicklung
5
Die Eclipse Rich Client Platform
Eclipse 3.0 Rich Client Platform
Help
Update
Text
(optional)
(optional)
(optional)
IDE
Compare Debug Search
Text
Team/
CVS
IDE personality
Generic Workbench
Resources
(optional)
JFace
SWT
6
Runtime (OSGi)
Die Eclipse Rich Client Platform
Runtime
• stellt Plugin-Mechanismus bereit
• Basierend auf OSGi
requires
Java UI
Java Core
requires
requires
• implementiert minimales
Komponentenmodell
• Extension-Points und Extensions
7
Die Eclipse Rich Client Platform
UI
requires
Resources
SWT / JFace
• Ziel:
Portable, performante UIs implementieren, die
nicht von einer
echten NativeAnwendung zu
unterscheiden
sind
8
Die Eclipse Rich Client Platform
SWT / JFace
• SWT:
• Native UI-Widgets mit einheitlicher Java-API
• Portiert auf diverse Plattformen
• Windows, Linux, Mac OS X, …
• JFace:
• Erweiterte Widgets
• Model-View-Controller
9
Die Eclipse Rich Client Platform
Generic Workbench
• UI-Rahmenwerk:
•
•
•
•
•
•
•
10
Views
Editors
Perspectives
Preferences
Actions (Tool- und Menu-Bars)
About
Window-Management
Die Eclipse Rich Client Platform
Konfigurationen
PDE
JDT
IDEPlatform
(nicht maßstabs-gerecht)
RCP
PluginRuntime
SWT
11
Die Eclipse Rich Client Platform
Demo
RCP live mit Ecli
pse
12
Die Eclipse Rich Client Platform
3.1M3
IBM Lotus Workplace Client
13
Die Eclipse Rich Client Platform
GDF Suite
© Logiball GmbH - Dr. Frank Gerhardt
14
Die Eclipse Rich Client Platform
Optionale Komponenten 1/2
• Help
• Browser-basiertes Hilf
• Update/Install
• Automatisiertes Installieren und Updaten von
Plugins
• Forms
• Unterstützung für klassische formularartige
UIs
15
Die Eclipse Rich Client Platform
Optionale Komponenten 2/2
• Cheat Sheets
• Kurze Anleitungen, wie eine Art ToDo-Liste
• Intro
• Einstiegs-Screen zur Navigation in den
gewünschten Anwendungsteil
16
Die Eclipse Rich Client Platform
Zusätzliche Komponenten
• GEF (Graphical Editor Framework)
• Professionalisierte Variante von JHotDraw
• EMF (Eclipse Modeling Framework)
• Framework zur Implementierung von
Metamodellen, Code-Generatoren, etc.
• …
17
Die Eclipse Rich Client Platform
Weitere Entwicklung
• Noch mehr Teile der Plattform für RCPAnwendungen zur Verfügung stellen
• General Purpose Navigator
• Bug #36961
• Einfacher Start per JWS
• Bug #48416
18
Die Eclipse Rich Client Platform
Weitere Entwicklung
• Classloading-Helferlein
• Beispielsweise für Serialisierung
• eRCP
• Rich Client Platform für Embedded Devices
http://www.eclipse.org/proposals/eclipseercp/index.html
(eigenes Technology-Project)
19
Die Eclipse Rich Client Platform
Referenzen 1/2
• Eclipse RCP-SDK
http://www.eclipse.org/
• Examples:
• Browser-Example:
(:pserver:[email protected]:/home/eclipse
Projekt org.eclipse.ui.examples.rcp.browser)
• Eclipse Wiki
http://eclipse-wiki.info
20
Die Eclipse Rich Client Platform
Referenzen 2/2
• Eclipse RCP Homepage
http://dev.eclipse.org/viewcvs/index.cgi/
~checkout~/platform-ui-home/rcp/index.html
• Eclipse FAQ
http://eclipsefaq.org/
• Blog von Ed Burnette
http://www.eclipsepowered.org
21
Die Eclipse Rich Client Platform
Bücher
• Contributing to Eclipse (Beck, Gamma)
•
•
•
•
Plugins entwickeln
Extensions, Extension-Points
Test-Driven Plugin-Development
Features, Install, etc.
• Eclipse FAQ (Laffra, N.N.)
• Building Commercial-Quality Plug-ins
(Clayberg, Rubel)
22
Die Eclipse Rich Client Platform
Vielen Dank
Fragen und Anmerkungen
jederzeit willkommen!!!
JJooiinn tthhee P
Poow
weerr W
Woorrkksshhoopp o
onn E
D
Ecclliippssee R
Doonnnneerrssttaagg, 9
RC
CP
P
,
.
0
9.000--1166.3
M
Maarrkkuuss V
0
.3
U
0
h
U
r
Vööltlteerr,, B
h
r
Beerrnndd Ko
Kolb
lb,, M
Maarrtitinn LLip
ipppeerrtt
Martin Lippert
[email protected]
http://www.martinlippert.org/
23
Die Eclipse Rich Client Platform