Your SlideShare is downloading. ×
0
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Eclipse RCP Overview @ Rheinjug

2,607

Published on

Eclipse RCP Overview

Eclipse RCP Overview

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,607
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
86
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Eclipse Rich Client Platform<br />The amazing simplicity of creating RCP application<br />Lars Vogel<br />http://www.vogella.de<br />
  • 2. Agenda<br />What is RCP?<br />OSGi<br />Modular Architecture<br />RCP<br />e4 (lets see if we have time….)<br />… and some life hacking<br />
  • 3. What is an Eclipse RCP application?<br />Local running application using the native widget toolkit<br />Based on the Eclipse runtime and technology<br />
  • 4. Eclipse (RCP) applications are written in Javain little pieces (plugins)<br />
  • 5. Extensible Application - Firefox<br />Plugins<br />The Browser<br />
  • 6. OSGi<br />Dynamic module system in Java<br />
  • 7. Bundle<br />Smallest deployment and development component in OSGi<br />Bundle == Plugin<br />Bundle<br />Plugin<br />
  • 8. Each Plugin defines its available API<br />
  • 9. Each Plugin defines also its dependencies<br />
  • 10. MANIFEST.MF – <br />Additional metadata for OSGi runtime<br />
  • 11. Runtime (OSGi) makes sure the API contacts are fulfilled<br />
  • 12. Demo<br />
  • 13. OSGi – Enforced Modularity<br />Standard Java App<br />Modular Java App<br />
  • 14. Anatomy of Eclipse RCP<br />
  • 15. In Eclipse everything is a plugin (except the core runtime)<br />Plugin<br />Plugin<br />Plugin<br />Plugin<br />Plugin<br />Runtime <br />
  • 16. Eclipse IDE<br />Help<br />P2 Update<br />Text<br />Compare<br />Debug<br />Search<br />Team/ cvs<br />IDE personality<br />Workbench<br />Resources<br />JFace<br />Runtime / Equinox (OSGi)<br />SWT<br />
  • 17. Component model<br />Rich user experience <br />OS independent<br />Extensible<br />Community<br />e4<br />Why Eclipse RCP?<br />
  • 18. Your plugins<br />Eclipse Plugins<br />
  • 19. Eclipse RCP <br />Your Server communication<br />Your Security<br />Your UI Layer<br />Help<br />P2 Update<br />Other Stuff<br />Workbench<br />Your data model<br />JFace<br />Runtime / Equinox (OSGi)<br />SWT<br />
  • 20. A closer look<br />
  • 21. Your first RCP app in < 10 secs<br />
  • 22. Defines OSGi bundle properties<br />Important configuration file- MANIFEST.MF -<br />You said that already in the OSGi chapter ….<br />
  • 23. Important configuration files- plugin.xml -<br />Defines extensions and extension points<br />
  • 24. Extensions <br />Extension Points<br />Provide functionality to predefined slots (== extension points)<br />Define places where others (== extensions) can provide functionality<br />
  • 25. The building blocks<br />
  • 26. Thin layer upon the native GUI libraries <br />JNI calls<br />Not a lot of convenient functionality<br />SWT - Standard Widget Toolkit<br />
  • 27. JFace<br />UI toolkit that provides helper classes for developing UI features<br />Makes SWT nicer but does not hide its complexity<br />Tables / TreeViewer / Dialogs / <br />Databinding<br />Workbench <br />multi-window environment <br />manages views, editors, perspectives  <br />JFace & Workbench<br />
  • 28. Lets create a RCP app<br />
  • 29. Find in Eclipse which parts you are looking at<br />Make coding analysis and re-use extremly easy<br />Shortcut Alt+Shift+F1 <br />Add org.eclipse.pde.runtime and org.eclipse.ui.forms as dependency to have Plug-in Spy in your own RCP application<br />29<br />Excursus: Plug-in Spy<br />How did he do it?<br />Plugin Spy = Shortcut Alt+Shift+F1 <br />Lars Vogel 4/22/2009<br />
  • 30. e4 ?<br />
  • 31. Eclipse e4<br />Eclipse e4 is the incubator project which will produce the Eclipse 4.0 SDK <br />
  • 32. Eclipse e4 Scope<br />Make developmentfor Eclipseeasier<br />
  • 33. Eclipse 3.x programming model<br />Complex<br />Lots of API<br />Platform functionality via singletons<br />Not easy to test<br />Not a consistent way to define the UI<br />
  • 34. Eclipse e4 – Building blocks<br />Modeled Workbench<br />Rendering Engine<br />Declarative Styling<br />Dependecy Injection<br />Context<br />Core Services<br />
  • 35. Summary<br />
  • 36. Eclipse: Where to go from here:<br />Eclipse Wiki<br />http://wiki.eclipse.org/<br />Eclipse RCP Tutorial<br />http://www.vogella.de/articles/RichClientPlatform/article.html<br />Eclipse Plugin Development <br /> http://www.vogella.de/articles/EclipsePlugIn/article.html<br />Eclipse e4 Tutorial<br />http://www.vogella.de/articles/EclipseE4/article.html<br />
  • 37. Photo credits<br />Clothes http://www.sxc.hu/photo/418618<br />Agenda http://www.sxc.hu/photo/1089869<br />Dotted guy http://www.sxc.hu/photo/1103660 <br />RCP Definition http://www.sxc.hu/photo/930468<br />OSGI Defintion http://www.sxc.hu/photo/975495<br />Building block http://www.sxc.hu/photo/596908<br />Where to go http://www.sxc.hu/photo/448543<br />Hurt fingers http://www.sxc.hu/photo/906072<br />Police http://www.sxc.hu/photo/860421<br />API http://www.sxc.hu/photo/603920<br />Pluginvrs. bundles http://www.sxc.hu/photo/1010558<br />Manifst.mf http://www.sxc.hu/photo/764999<br />Structured vrs. chaos<br /><ul><li>http://www.sxc.hu/photo/941292
  • 38. Why RCP http://www.sxc.hu/photo/660438
  • 39. Woman with phone http://www.sxc.hu/photo/485640
  • 40. Funny guy http://www.sxc.hu/photo/1173019
  • 41. Dependencies http://www.sxc.hu/photo/182575
  • 42. Extension http://www.sxc.hu/photo/721092
  • 43. Dog http://www.sxc.hu/photo/302062
  • 44. Plugin spy http://www.sxc.hu/photo/130484
  • 45. Lego http://www.sxc.hu/photo/338038
  • 46. e4 target http://www.sxc.hu/photo/839037
  • 47. Summary http://www.sxc.hu/photo/1184807
  • 48. Question http://www.sxc.hu/photo/418215
  • 49. Reading material http://www.sxc.hu/photo/406547
  • 50. Thank you http://www.sxc.hu/photo/986313</li></li></ul><li>
  • 51. Thank you<br />For further questions:<br />Lars.Vogel@gmail.com<br />http://www.vogella.de<br />http://www.twitter.com/vogella<br />
  • 52. License & Acknowledgements<br />This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany License<br />See http://creativecommons.org/licenses/by-nc-nd/3.0/de/deed.en_US<br />

×