Upload
sonxscrbd77
View
222
Download
0
Embed Size (px)
Citation preview
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
1/71
Introduction to Eclipse Rich Client
Anshu Jain
IBM India Research Lab
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
2/71
Eclipse RCP - 2 of 71
Anshu Jain IBM India Research Lab
Agenda
Introductions Motivation for Rich Client Platforms
Architecture of Eclipse Rich Client Platform
Dive into core components RCP specific issues
This is not a step by step tutorial http://www.google.com/search?q=Eclipse+RCP
+Tutorial Lookout for footnotes on slides references
and links
http://www.google.com/search?q=Eclipse+RCP+Tutorialhttp://www.google.com/search?q=Eclipse+RCP+Tutorialhttp://www.google.com/search?q=Eclipse+RCP+Tutorialhttp://www.google.com/search?q=Eclipse+RCP+Tutorial8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
3/71
Eclipse RCP - 3 of 71
Anshu Jain IBM India Research Lab
Rich Client Applications
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
4/71
Eclipse RCP - 4 of 71
Anshu Jain IBM India Research Lab
Rich Client Applications
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
5/71
Eclipse RCP - 5 of 71
Anshu Jain IBM India Research Lab
Rich Client Applications
Commercial Eclipse RCP based rich clients
http://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.php8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
6/71
Eclipse RCP - 6 of 71
Anshu Jain IBM India Research Lab
What is Rich Client
Application with extensive use of windows,GUI and other features of an OS
Widgets, Drag Drop, Platform look and feel
Housekeeping functions Help, About, Update
Many more depending on how Rich
http://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.php8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
7/71
Eclipse RCP - 7 of 71
Anshu Jain IBM India Research Lab
What is a rich client - Wikipedia
A Rich Client Platform (RCP) is softwareconsisting of the following components:
A core (microkernel), lifecycle manager
A standard bundling framework
A portable widget toolkit
File buffers, text handling, text editors
A workbench (views, editors, perspectives, wizards)
Data binding
Update manager
Wikipedia definition of r ich client
http://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://www.eclipse.org/community/rcpcp.phphttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platform8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
8/71
Eclipse RCP - 8 of 71
Anshu Jain IBM India Research Lab
Possible Architectures
Rich Client
View
ok
Control
Data and
Logic Local Data
Rich Client
View
okok
Control
Data and
Logic Local Data
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
1 Tier- off ice applications
- paint programs
http://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://en.wikipedia.org/wiki/Rich_Client_Platformhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
9/71
Eclipse RCP - 9 of 71
Anshu Jain IBM India Research Lab
Possible Architectures
Rich Client
View
ok
Control
Data and
Logic Local Data
Rich Client
View
okok
Control
Data and
Logic Local Data
Rich Client
View
ok
Control
Remote Data
Rich Client
View
okok
Control
Remote Data
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
1 Tier- off ice applications
- paint programs
2 Tier- mail clients- p2p applications
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
10/71
Eclipse RCP - 10 of 71
Anshu Jain IBM India Research Lab
Possible Architectures
Rich Client
View
ok
Control
Data and
Logic Local Data
Rich Client
View
okok
Control
Data and
Logic Local Data
Rich Client
View
ok
Control
Remote Data
Rich Client
View
okok
Control
Remote Data
Application ServerRich Client
Remote
Data andLogic
Control
View
ok
Control
web
services,
IIOP,
Remote Data
Application ServerRich Client
Remote
Data andLogic
Control
View
okok
Control
web
services,
IIOP,
Remote Data
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
1 Tier- off ice applications
- paint programs
2 Tier- mail clients- p2p applications
3 Tier- browser
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
11/71
Eclipse RCP - 11 of 71
Anshu Jain IBM India Research Lab
Combination of Architectures
Application ServerRich Client
RemoteData and
LogicControl
View
ok
Contro
l
Local
Data and
Logic
web
services,
IIOP,
Remote Data
Remote Data
Local
Data
Application ServerRich Client
RemoteData and
LogicControl
View
okok
Contro
l
Local
Data and
Logic
web
services,
IIOP,
Remote Data
Remote Data
Local
Data
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
12/71
Eclipse RCP - 12 of 71
Anshu Jain IBM India Research Lab
Combination of Architectures
Application ServerRich Client
RemoteData and
LogicControl
View
ok
Contro
l
Local
Data and
Logic
web
services,
IIOP,
Remote Data
Remote Data
Local
Data
Application ServerRich Client
RemoteData and
LogicControl
View
okok
Contro
l
Local
Data and
Logic
web
services,
IIOP,
Remote Data
Remote Data
Local
Data
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
Multi-tier architectures- Outlook- Lotus Notes- Eclipse IDE
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
13/71
Eclipse RCP - 13 of 71
Anshu Jain IBM India Research Lab
What is Eclipse IDE
A rich client
A tooling platform
A framework
Rich client platform ?
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
14/71
Eclipse RCP - 14 of 71
Anshu Jain IBM India Research Lab
What is Eclipse IDE
A rich client
A tooling platform
A framework
Rich client platform ?
Much more than a richclient platform. But there isindeed an underlyingplatform
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
15/71
Eclipse RCP - 15 of 71
Anshu Jain IBM India Research Lab
Why Use Eclipse RCP?
Common and consistent application services Native look and feel
Window management Standardized component model (Equinox)
Pervasive extensibility Extension registry
Update Manager Help system
State of the art development tools
Middleware for building rich client applications!
Other Rcps Netbeans, Spring Framework for Java Other Rcps: QT Toolkit for c++ (and also some form for
java)
http://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/Qt_(toolkit)http://en.wikipedia.org/wiki/Qt_(toolkit)8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
16/71
Eclipse RCP - 16 of 71
Anshu Jain IBM India Research Lab
Why use RCP What are my options
Use Plain old Java, Swing, VB, MFC etc.
Assembly language..!!
Source on wikipedia
http://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPaint8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
17/71
Eclipse RCP - 17 of 71
Anshu Jain IBM India Research Lab
Why use RCP What are my options
Use Plain old Java, Swing, VB, MFC etc.
Assembly language..!!
Source on wikipedia
http://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPaint8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
18/71
Eclipse RCP - 18 of 71
Anshu Jain IBM India Research Lab
Why use RCP What are my options
Use Plain old Java, Swing, VB, MFC etc. Assembly language..!!
MACPaintThe Premier Rich Client
Source on wikipedia
C f
http://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPaint8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
19/71
Eclipse RCP - 19 of 71
Anshu Jain IBM India Research Lab
Why use RCP What are my options
Use Plain old Java, Swing, VB, MFC etc. Assembly language..!!
MACPaintThe Premier Rich Client
5,804 lines - Pascal
2,738 lines - 68000
Source on wikipedia
E li RCP 20 f 71
http://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPaint8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
20/71
Eclipse RCP - 20 of 71
Anshu Jain IBM India Research Lab
Why use RCP What are my options
Use Plain old Java, Swing, VB, MFC etc. Assembly language..!!
MACPaintThe Premier Rich Client
5,804 lines - Pascal
2,738 lines - 68000
help, update, localization,
resizing of views. Plug-ins
none of above
Source on wikipedia
E li RCP 21 f 71
http://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPaint8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
21/71
Eclipse RCP - 21 of 71
Anshu Jain IBM India Research Lab
Why use RCP What are my options
RCP offers higher levels of abstractions Registry
Perspective
Wizards
Dialogs
Because you dont want to build the Rocket,
You want to focus on the payload..!!
Read: Foreword by Jeff Norris To the RCP Book by Jeff McAffer, and Jean-Michel
Eclipse RCP 22 of 71
http://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://en.wikipedia.org/wiki/MacPainthttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
22/71
Eclipse RCP - 22 of 71
Anshu Jain IBM India Research Lab
What is Eclipse RCP
The minimal set of plug-ins needed to build arich client application is collectively known as
the Rich Client Platform
org.eclipse.ui
org.eclipse.core.runtime
(prerequisites of above)
Eclipse platform whitepaper
Eclipse RCP 23 of 71
http://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://eclipsercp.org/book/chapters/RCP_Foreward2.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
23/71
Eclipse RCP - 23 of 71
Anshu Jain IBM India Research Lab
Eclipse Platform Architecture
Source: Eclipse Platform Architecture Whitepaper
Eclipse RCP 24 of 71
http://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
24/71
Eclipse RCP - 24 of 71
Anshu Jain IBM India Research Lab
RCP Architecture
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
Action sets
EditorsPerspectives
Views
Workbench
Extensions
ApplicationsProducts
Widgets
Plug-ins/Bundles
Services
Extensions
Applications
Products
Eclipse RCP - 25 of 71
http://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
25/71
Eclipse RCP - 25 of 71
Anshu Jain IBM India Research Lab
Core Platform Plug-ins
Eclipse RCP - 26 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
26/71
Eclipse RCP - 26 of 71
Anshu Jain IBM India Research Lab
Core Platform Plug-ins
My Test Plug-in
Eclipse RCP - 27 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
27/71
Eclipse RCP 27 of 71
Anshu Jain IBM India Research Lab
Core Platform Plug-ins
OSGI Platform
- Component model
- Eclipse Adaptors
- Registry Framework
My Test Plug-in
Eclipse RCP - 28 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
28/71
Eclipse RCP 28 of 71
Anshu Jain IBM India Research Lab
Core Platform Plug-ins
OSGI Platform
- Component model
- Eclipse Adaptors
- Registry Framework
Eclipse Runtime
- Plug-in Model
- Preferences
- Scheduling
- Core services
My Test Plug-in
Eclipse RCP - 29 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
29/71
Eclipse RCP 29 of 71
Anshu Jain IBM India Research Lab
Core Platform Plug-ins
OSGI Platform
- Component model
- Eclipse Adaptors
- Registry Framework
Eclipse Runtime
- Plug-in Model
- Preferences
- Scheduling
- Core services
UI Framework
- Native Widget API
- MVC Controllers- Workbench UI
artifacts
My Test Plug-in
Eclipse RCP - 30 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
30/71
p
Anshu Jain IBM India Research Lab
Trivia on memory footprint
Eclipse RCP - 31 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
31/71
p
Anshu Jain IBM India Research Lab
Trivia on memory footprint
If this is too big,
explore eRCP orembedded RCP.
Eclipse RCP - 32 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
32/71
p
Anshu Jain IBM India Research Lab
Before beginning RCP
Must have Core Java Knowledge
Understanding of eclipse plug-in architecture
Basics of plug-in development
A decent pc and a will to explore
Nice to have Fluency with SWT/JFace
Previous experience with eclipse runtime A good command on design patterns MVC,
Interfaces, Abstractions .
Eclipse RCP - 33 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
33/71
Anshu Jain IBM India Research Lab
Tools
JRE preferably 1.5+ Eclipse IDE Preferably latest
A browser and a good internet connection
(so u can have tutorials/articles at yourdisposal)
Eclipse RCP - 34 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
34/71
Anshu Jain IBM India Research Lab
What would you need to do - Intuitively
Assuming you have figured out your application logic
1. Create components
plug-ins of course.!!
2.
Provide launching point so eclipse platform can invoke your code on launch
3. Configure main application window on launch
window layout, size, look and feel
Provide branding information Create deployable for distribution
Wait for user action to execute your RCP and
trigger your application code
Eclipse RCP - 35 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
35/71
Anshu Jain IBM India Research Lab
Task 1: Component Architecture
Based on OSGi modules for the Java platform Dynamic and flexible
Loose coupling of Java modules
OSGi Bundles (Eclipse Plug-ins)
Eclipse Features Important for Development anddeployment lifecycle
Enable multiple branding
Enable product lines
Ease of deployments and updates
Eclipse RCP - 36 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
36/71
Anshu Jain IBM India Research Lab
Task 1: Tradeoffs while planning for plug-ins
Bundle Size Grouping of logical functionality
Monolithic vs. Smaller granular bundles
What goes into what features
Eclipse RCP - 37 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
37/71
Anshu Jain IBM India Research Lab
Announce yourself to rcp Extension point
org.eclipse.core.runtime.applications
Task 2: Launching point converse with rcp
Eclipse RCP - 38 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
38/71
Anshu Jain IBM India Research Lab
Announce yourself to rcp Extension point
org.eclipse.core.runtime.applications
Task 2: Launching point converse with rcp
Eclipse RCP - 39 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
39/71
Anshu Jain IBM India Research Lab
Talk rcps language Interface
IApplication
Catch the hooks it provides for lifecycle management
Task 2: Launching point converse with rcp
Eclipse RCP - 40 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
40/71
Anshu Jain IBM India Research Lab
Talk rcps language Interface
IApplication
Catch the hooks it provides for lifecycle management
Task 2: Launching point converse with rcp
Eclipse RCP - 41 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
41/71
Anshu Jain IBM India Research Lab
Task 3: Configure application window
Talk rcps language
Eclipse RCP - 42 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
42/71
Anshu Jain IBM India Research Lab
Task 3: Configure application window
Talk rcps languagepublic Object start(IApplicationContext context) {
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new
ApplicationWorkbenchAdvisor());
if(returnCode == PlatformUI.RETURN_RESTART) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
} finally {display.dispose();
}
}
Eclipse RCP - 43 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
43/71
Anshu Jain IBM India Research Lab
Task 3: Configure application window
Talk rcps languagepublic Object start(IApplicationContext context) {
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new
ApplicationWorkbenchAdvisor());
if(returnCode == PlatformUI.RETURN_RESTART) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
} finally {display.dispose();
}
}
Extends:- WorkbenchAdvisorStarting point to set up main workbenchwindow info- perspective info- actions- menubar
Eclipse RCP - 44 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
44/71
Anshu Jain IBM India Research Lab
Task 3: Configure application window
Source: Eclipse Con 2006 - RCP Tutorial - Jean-Michel Lemieux and Jeff McAffer
Eclipse RCP - 45 of 71
http://www.eclipse.org/ercp/http://www.eclipse.org/ercp/http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
45/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
What do you need to tell eclipse My product name
My product icons
My splash images
My about info
Launcher name
Title bar label
.on and on Almost as simple as fill in the blanks
Eclipse RCP - 46 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
46/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Product Configuration .product files
Extension point org.eclipse.runtime.products
Eclipse RCP - 47 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
47/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Product Configuration .product files
Extension point org.eclipse.runtime.products
Eclipse RCP - 48 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
48/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Eclipse RCP - 49 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
49/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Features mode isrecommended for easiermanagement & updatecapabilities
Eclipse RCP - 50 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
50/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Eclipse RCP - 51 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
51/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
.ini file- initialization params, likeproduct location, vmarguments, etc.
Eclipse RCP - 52 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
52/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Eclipse RCP - 53 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
53/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Name of executable mail.exe
Eclipse RCP - 54 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
54/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Name of executable mail.exe
Launch arguments
Eclipse RCP - 55 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
55/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Name of executable mail.exe
Launch arguments
Optional JRE/PlatformSpecification
Eclipse RCP - 56 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
56/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Eclipse RCP - 57 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
57/71
Anshu Jain IBM India Research Lab
Task 4: Product and Branding
Eclipse RCP - 58 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
58/71
Anshu Jain IBM India Research Lab
Task 5: Packaging
Transformation Development form Deployment form
For example
Workspace projects Built JARs
Possible outputs Stand-alone, runnable application in directory or archive
Update site features and plug-ins
JNLP/WebStart application
Installers (e.g., InstallShield) not directly supported Eclipse IDE provides wizard for all the above
Eclipse RCP - 59 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
59/71
Anshu Jain IBM India Research Lab
Task 5: Packaging with Security
Sign jars to avoid unauthorized updates Signing jars imperative to run webstart with all
security permissions on JVM
IDE has out of the box support for signing jars Nice tool for keystore and certificate mgmt
Eclipse RCP - 60 of 71
http://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://wiki.eclipse.org/images/d/d9/EclipseCon_RCP_Tutorial_2006.pdfhttp://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
60/71
Anshu Jain IBM India Research Lab
Update Management
Add plug-ins to rcp: org.eclipse.update.core org.eclipse.update.ui
Setup features properly All base plug-ins which are not written by you go in
one feature e.g. .eclipse.base.feature Your main application plug-ins go in one (or more)
e.g. yourdomain.eclipse.yourapplication.feature
Setup an update site using eclipses update siteproject. Build features into update site
Must read: Eclipse Con 2005 Tutorial - section 9
Eclipse RCP - 61 of 71
http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://keytool.sourceforge.net/http://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
61/71
Anshu Jain IBM India Research Lab
Update Management
ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell(display, SWT.NONE));dialog.run(false, false, new IRunnableWithProgress() {publicvoid run(IProgressMonitor monitor) {
UpdateCommand command = new UpdateCommand(.eclipse.,name", "false");command.run(monitor);
}});
Snippet Link Article explaining p2 for RCP applications
Eclipse RCP - 62 of 71
http://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
62/71
Anshu Jain IBM India Research Lab
Update Management
ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell(display, SWT.NONE));dialog.run(false, false, new IRunnableWithProgress() {publicvoid run(IProgressMonitor monitor) {
UpdateCommand command = new UpdateCommand(.eclipse.,name", "false");command.run(monitor);
}});
Snippet Link
May not work in debugmode.
Article explaining p2 for RCP applications
Eclipse RCP - 63 of 71
http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
63/71
Anshu Jain IBM India Research Lab
Update Management
ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell(display, SWT.NONE));dialog.run(false, false, new IRunnableWithProgress() {publicvoid run(IProgressMonitor monitor) {
UpdateCommand command = new UpdateCommand(.eclipse.,name", "false");command.run(monitor);
}});
Snippet Link
New Update architecture based on Equinox P2 Provisioning System is available
May not work in debugmode.
Article explaining p2 for RCP applications
Eclipse RCP - 64 of 71
http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
64/71
Anshu Jain IBM India Research Lab
Update Management
ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell(display, SWT.NONE));dialog.run(false, false, new IRunnableWithProgress() {publicvoid run(IProgressMonitor monitor) {
UpdateCommand command = new UpdateCommand(.eclipse.,name", "false");command.run(monitor);
}});
Snippet Link
New Update architecture based on Equinox P2 Provisioning System is available
May not work in debugmode.
Not so popular inRCPs yet..!!
Article explaining p2 for RCP applications
Eclipse RCP - 65 of 71
http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Application8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
65/71
Anshu Jain IBM India Research Lab
Update Management
ProgressMonitorDialog dialog = new ProgressMonitorDialog(new Shell(display, SWT.NONE));dialog.run(false, false, new IRunnableWithProgress() {publicvoid run(IProgressMonitor monitor) {
UpdateCommand command = new UpdateCommand(.eclipse.,name", "false");command.run(monitor);
}});
Snippet Link
New Update architecture based on Equinox P2 Provisioning System is available
May not work in debugmode.
Not so popular inRCPs yet..!!
Article explaining p2 for RCP applications
IMHO: Inno Setup,Installshield are alsopossible options
Eclipse RCP - 66 of 71
http://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.htmlhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://wiki.eclipse.org/Equinox/p2/Adding_Self-Update_to_an_RCP_Applicationhttp://blog.cypal-solutions.com/2008/02/how-to-automatically-update-my-rcp.html8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
66/71
Anshu Jain IBM India Research Lab
Update Management Some Tradeoffs
Where to call update from From custom actions
From update UI Not necessary for small RCPs
From startup code
From scheduled code
Whether to use update at all?? Update plug-ins add to memory footprint
Eclipse RCP - 67 of 71
8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
67/71
Anshu Jain IBM India Research Lab
Help
Very straightforward, like in eclipse IDE Article on using help with RCP
Needs org.apache.lucene
org.eclipse.help.appserver
org.eclipse.help.base
org.eclipse.help.ui
org.eclipse.help.webapp
org.eclipse.tomcat
org.eclipse.ui.forms
Eclipse RCP - 68 of 71
http://www.eclipse.org/articles/article.php?file=Article-AddingHelpToRCP/index.htmlhttp://www.eclipse.org/articles/article.php?file=Article-AddingHelpToRCP/index.html8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
68/71
Anshu Jain IBM India Research Lab
Closing thoughts
In theory, there is no difference betweentheoryand practice. But, in practice, there is
Jan La Van De Snepscheut
Master your debugging skills sit on eclipses
shoulders..!! Eclipse Debugging Tutorial
Pleaseplease..try to understand eclipseplatform architecture in detail
Extension point architecture Registries
Bundle loading, class loading
Eclipse RCP - 69 of 71
http://csis.pace.edu/~ogotel/teaching/IBM04-Eclipse%20Debugger.ppthttp://csis.pace.edu/~ogotel/teaching/IBM04-Eclipse%20Debugger.ppt8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
69/71
Anshu Jain IBM India Research Lab
Some must reads for RCP Developers
Official Eclipse RCP FAQs Eclipse RCP How-to
Eclipse Con 2005 Tutorial
Eclipse platform whitepaper Eclipse plug-in architecture article
For advanced users >
Advanced RCP Presentation
Eclipse RCP - 70 of 71
http://wiki.eclipse.org/RCP_FAQhttp://wiki.eclipse.org/Eclipse_RCP_How-tohttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.htmlhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.eclipse.org/articles/Article-Plug-in-architecture/plugin_architecture.htmlhttp://www.eclipse.org/whitepapers/eclipse-overview.pdfhttp://www.eclipsecon.org/2005/presentations/EclipseCon2005_Tutorial8.pdfhttp://wiki.eclipse.org/Eclipse_RCP_How-tohttp://wiki.eclipse.org/RCP_FAQhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
70/71
Anshu Jain IBM India Research Lab
Recommended Reading
Contributing to Eclipse: Principles, Patterns, andPlug-ins
By Erich Gamma, Kent Beck
Addison-Wesley Professional
ISBN: 0321205758
Eclipse Rich Client Platform By Jeff McAffer and Jean-Michel Lemieux
Addison-Wesley Professional
ISBN: 0321334612
SWT : The Standard Widget Toolkit, Volume 1
By Steve Northover, Mike Wilson
Addison-Wesley Professional
ISBN: 0321256638
Eclipse RCP - 71 of 71
http://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdf8/2/2019 Intro oEclipseRCP Jax India Anshu Jain
71/71
Take off with eclipse RCP!!!!
Thank you
Anshu Jain
Technical Staff Member,
IBM India Research Lab,Bangalore
[email protected] | [email protected]
http://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfhttp://www.toedter.com/download/eclipsecon/Advanced-RCP-EclipseCon-2009.pdfmailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]