Download presentation
Presentation is loading. Please wait.
Published byWilla Fields Modified over 9 years ago
1
Introduction 1 Lars Vogel 4/22/2009
2
Who am I? Eclipse as a platform What is Eclipse RCP? Extension Points / Extensions Equinox SWT & JFace View coupeling Summary 2 Lars Vogel 4/22/2009
3
Lars Vogel ◦ Working for SAP AG as a product manager responsible for SAP Transportation Management ◦ Open source enthusiastic ◦ Active in the Java and Eclipse ecosystem 3
4
Eclipse RCP distribution, via www.eclipse.org/downlods www.eclipse.org/downlods Or installation of feature „Eclipse RCP“ via the Eclipse update manager 4 Lars Vogel 4/22/2009
5
Platform ◦ Small runtime ◦ Complex applications can be extensible without the need to adjust existing code 5 Runtime Platform Application Extensible Application Lars Vogel 4/22/2009
6
Nov. 2001 – Code released as open Source Juni 2004 – Eclipse 3.0 based on OSGi and enables Eclipse RCP Current Eclipse 3.4.2 (aka Ganymede) 6 Lars Vogel 4/22/2009
7
Local running application using the native widget toolkit Based on the Eclipse runtime and technology Eclipse RCP applications can be standalone or may require server communication 7 Lars Vogel 4/22/2009
8
Component model Rich user experience Platform (OS) independent Extensible Re-use of existing Eclipse functionality Helps avoiding writing boilerplate code, e.g. automatic update Excellent community 8 Lars Vogel 4/22/2009
9
9 Application ApplicationWorkbenchAdvisor ApplicationWorkbenchWindowAdvisor ApplicationActionBarAdvisor Calls PlattfromUI.createAndRunWorkbench Defines the initial perspective Settings for the window, e.g. toolbar visible, etc Defines initial Actions (outdated) Lars Vogel 4/22/2009
10
MANIFEST.MF – Defines OSGi bundle plugin.xml – Defines Eclipse extensions and extension points build.properties – property file for export PDE (Plug-in Development Environement) provides editors for these files. 10 Lars Vogel 4/22/2009
11
Extension Points allow to add functionality to pre- defined points Each plug-in can define it‘s own extension points allowing other to contribute Each plug-in can define extensions, providing functionality to pre-defined extension points RCP developer use primary the existing platfrom extension points to define their application 11 Lars Vogel 4/22/2009
12
plugin.xml contains description of all extensions and extension points Contributions are only loaded when they are needed -> lazy loading to save memory and keep startup time small 12 *Graphic Source: Internet Lars Vogel 4/22/2009
13
A command in Eclipse is a declarative description of a component and is independent from the implementation details. A command can be categorized Key binding can be assigned to the command. 13 Lars Vogel 4/22/2009
14
14 Runtime / Equinox SWT JFace Workbench … … … … Other Plug-ins… Lars Vogel 4/22/2009
15
Reference implementation of OSGi Dynamic module system Wildly used, e.g. in application servers Allows to ◦ Define dependencies between Plug-ins ◦ Hide plug-in internal implementation details Eclipse plug-in is always an OSGi bundle and vice versa 15 Equinox Lars Vogel 4/22/2009
16
View available for plug-in dependency analysis Graphical tool can be found on http://www.eclipse.org/pde/incubator/dependency- visualization/ http://www.eclipse.org/pde/incubator/dependency- visualization/ 16 Lars Vogel 4/22/2009
17
Plug-in(s) for the domain model Plug-in(s) for the core functionality Plug-in(s) for the UI functionality Modularity allows you to grow as you go 17 Lars Vogel 4/22/2009
18
SWT Standard Widget Toolkit ◦ Thin layer upon the native GUI libraries ◦ JNI calls ◦ Not a lot of conviniant functionality 18 *Screenshot from the Internet
19
JFace ◦ UI toolkit that provides helper classes for developing UI features ◦ Tables / TreeViewer / Dialogs / ◦ Can be based on models ◦ Databinding Workbench ◦ multi-window environment ◦ manages views, editors, perspectives 19 Lars Vogel 4/22/2009
20
Viewer: Table / Treeviewer: Responsible for the UI LabelProvider: How is the domain model represented ModelProvider: Delivery the domain model ViewerSorter: Sorts values in the viewer ViewerFilter: Filters values ◦ 20 Viewer – UI, shows data Viewer – UI, shows data ContentProvider – „Dao“ for viewer ContentProvider – „Dao“ for viewer LabelProvider – Which data is represented how LabelProvider – Which data is represented how Lars Vogel 4/22/2009
21
View / Viewer can be selection provider, e.g. getSite().setSelectionProvider(viewer); Another view can register without knowing which view are responible for the changes ◦ Needs to implement ISelectionListener ◦ Must itself register as SelectionListener, via getSite().getWorkbenchWindow().getSelectionService().addSel ectionListener(this) Allows Loose Coupeling 21 Lars Vogel 4/22/2009
22
Contains the branding, e.g. splashscreen, icons, „About“ dialog Configuration for different operating systems Used for exporting the final application 22 Lars Vogel 4/22/2009
23
Find in Eclipse which parts you are looking at Make coding analysis and re-use extremly easy Shortcut Alt+Shift+F1 Add org.eclipse.pde.runtime and org.eclipse.ui.forms as dependency to have Plug-in Spy in your own RCP application 23 Lars Vogel 4/22/2009
24
Eclipse RCP is a powerful framework to develop native looking, modular, extensible applications. „Billions“;-) of new API‘s to learn…. Very powerful but complex framework 24 Lars Vogel 4/22/2009
25
The whole world of Eclipse projects is available for RCP ◦ Modelling (EMF) ◦ Reporting (BIRT) ◦ Graphical Editors (GEF, GMF, Zest) ◦ Automatic Updates (p2 Update) ◦ Presentation Framework ◦ PDE Build / PDE JUnit ◦ Internationalization Eclipse RCP in the Web -> Eclipse RAP Eclipse RCP on the mobile device -> eRCP Eclipse E4 ◦ Styling of UI components via CSS ◦ XWT -> allows declarative UI definition 25 Lars Vogel 4/22/2009
26
Introduction to Eclipse RCP ◦ http://www.vogella.de/articles/RichClientPlatform/article.html http://www.vogella.de/articles/RichClientPlatform/article.html Eclipse RCP podcast ◦ http://www.eclipsezone.com/files/podcasts/9-RCP- Jeff.McAffer.mp3?source=podcasts Book: Eclipse Rich Client Platform ◦ By Jeff McAffer and Jean-Michel Lemieux ◦ Addison-Wesley Professional ◦ Attention: Second Edition planned for June 2009 26 Lars Vogel 4/22/2009
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.