This document discusses Eclipse Rich Client Platform (RCP) applications. RCP applications are built with plugins that define their APIs and dependencies using OSGi bundles and MANIFEST.MF files. The key components of an RCP application are SWT for the GUI toolkit, JFace which adds functionality to SWT, and the Eclipse workbench which manages views, editors and perspectives. Eclipse e4 aims to improve on the RCP programming model by making development easier with a more consistent and testable architecture based on dependency injection and declarative styling.
19. Eclipse RCP Your Server communication Your Security Your UI Layer Help P2 Update Other Stuff Workbench Your data model JFace Runtime / Equinox (OSGi) SWT
24. Extensions Extension Points Provide functionality to predefined slots (== extension points) Define places where others (== extensions) can provide functionality
26. Thin layer upon the native GUI libraries JNI calls Not a lot of convenient functionality SWT - Standard Widget Toolkit
27. JFace UI toolkit that provides helper classes for developing UI features Makes SWT nicer but does not hide its complexity Tables / TreeViewer / Dialogs / Databinding Workbench multi-window environment manages views, editors, perspectives JFace & Workbench
29. 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 29 Excursus: Plug-in Spy How did he do it? Plugin Spy = Shortcut Alt+Shift+F1 Lars Vogel 4/22/2009
36. Eclipse: Where to go from here: Eclipse Wiki http://wiki.eclipse.org/ Eclipse RCP Tutorial http://www.vogella.de/articles/RichClientPlatform/article.html Eclipse Plugin Development http://www.vogella.de/articles/EclipsePlugIn/article.html Eclipse e4 Tutorial http://www.vogella.de/articles/EclipseE4/article.html
51. Thank you For further questions: Lars.Vogel@gmail.com http://www.vogella.de http://www.twitter.com/vogella
52. License & Acknowledgements This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany License See http://creativecommons.org/licenses/by-nc-nd/3.0/de/deed.en_US