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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Eclipse RCP Overview @ Rheinjug

  • 2,485 views
Published

Eclipse RCP Overview

Eclipse RCP Overview

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,485
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
84
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
    The amazing simplicity of creating RCP application
    Lars Vogel
    http://www.vogella.de
  • 2. Agenda
    What is RCP?
    OSGi
    Modular Architecture
    RCP
    e4 (lets see if we have time….)
    … and some life hacking
  • 3. What is an Eclipse RCP application?
    Local running application using the native widget toolkit
    Based on the Eclipse runtime and technology
  • 4. Eclipse (RCP) applications are written in Javain little pieces (plugins)
  • 5. Extensible Application - Firefox
    Plugins
    The Browser
  • 6. OSGi
    Dynamic module system in Java
  • 7. Bundle
    Smallest deployment and development component in OSGi
    Bundle == Plugin
    Bundle
    Plugin
  • 8. Each Plugin defines its available API
  • 9. Each Plugin defines also its dependencies
  • 10. MANIFEST.MF –
    Additional metadata for OSGi runtime
  • 11. Runtime (OSGi) makes sure the API contacts are fulfilled
  • 12. Demo
  • 13. OSGi – Enforced Modularity
    Standard Java App
    Modular Java App
  • 14. Anatomy of Eclipse RCP
  • 15. In Eclipse everything is a plugin (except the core runtime)
    Plugin
    Plugin
    Plugin
    Plugin
    Plugin
    Runtime
  • 16. Eclipse IDE
    Help
    P2 Update
    Text
    Compare
    Debug
    Search
    Team/ cvs
    IDE personality
    Workbench
    Resources
    JFace
    Runtime / Equinox (OSGi)
    SWT
  • 17. Component model
    Rich user experience
    OS independent
    Extensible
    Community
    e4
    Why Eclipse RCP?
  • 18. Your plugins
    Eclipse Plugins
  • 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
  • 20. A closer look
  • 21. Your first RCP app in < 10 secs
  • 22. Defines OSGi bundle properties
    Important configuration file- MANIFEST.MF -
    You said that already in the OSGi chapter ….
  • 23. Important configuration files- plugin.xml -
    Defines extensions and extension points
  • 24. Extensions
    Extension Points
    Provide functionality to predefined slots (== extension points)
    Define places where others (== extensions) can provide functionality
  • 25. The building blocks
  • 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
  • 28. Lets create a RCP app
  • 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
  • 30. e4 ?
  • 31. Eclipse e4
    Eclipse e4 is the incubator project which will produce the Eclipse 4.0 SDK
  • 32. Eclipse e4 Scope
    Make developmentfor Eclipseeasier
  • 33. Eclipse 3.x programming model
    Complex
    Lots of API
    Platform functionality via singletons
    Not easy to test
    Not a consistent way to define the UI
  • 34. Eclipse e4 – Building blocks
    Modeled Workbench
    Rendering Engine
    Declarative Styling
    Dependecy Injection
    Context
    Core Services
  • 35. Summary
  • 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
  • 37. Photo credits
    Clothes http://www.sxc.hu/photo/418618
    Agenda http://www.sxc.hu/photo/1089869
    Dotted guy http://www.sxc.hu/photo/1103660
    RCP Definition http://www.sxc.hu/photo/930468
    OSGI Defintion http://www.sxc.hu/photo/975495
    Building block http://www.sxc.hu/photo/596908
    Where to go http://www.sxc.hu/photo/448543
    Hurt fingers http://www.sxc.hu/photo/906072
    Police http://www.sxc.hu/photo/860421
    API http://www.sxc.hu/photo/603920
    Pluginvrs. bundles http://www.sxc.hu/photo/1010558
    Manifst.mf http://www.sxc.hu/photo/764999
    Structured vrs. chaos
    • 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
  • 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