Page 1. Single-Sourcing. RAP and RCP. Chris Aniszczyk
. Page 2. Let's Talk Technology... Page 3. 3. Eclipse RCP! Page 4 ...
Single-Sourcing RAP and RCP
Chris Aniszczyk
[email protected]
Let’s Talk Technology...
Eclipse RCP! 3
Lotus Notes 8+
4
Lotus Sametime 7.5+
5
NASA Maestro
6
RCP Knowledge
Web 2.0? *thin clients are back and thicker this time!
8
Online Presentations?
9
Online Photoshop?
10
Pixlr
11
Web 2.0 Knowledge
12
13
Web 2.0
Desktop
15
16
17
18
Impossible?
19
Exchange the Runtime! 20
EclipseRT and OSGi RCP
RAP
equinox 21
Layers of RCP
Moving to the web...
RAP Layers
Qooxdoo? A Swing/Qt/Cocoa type framework for the web...
25
On the Surface... RCP-ish
Best of both worlds...
27
Theming Possibilities!
28
How does it work?
29
Request Life Cycle An event triggers a request...
30
Request Life Cycle Request is processed on the server... updates server-side widgets... process events... generate response...
31
Request Life Cycle The user interface changes are rendered on the client...
32
Why!? 33
It’s possible! 34
35
36
How much reuse!? 37
Code Reuse 80%–98% is possible platform specific code
shared code 38
What about the 2-20%? 39
RAP Runs in a Browser File system GraphicsContext* MouseMove*
RCP
File upload Theming*
RAP
RAP is Multi-User!
RCP
RAP
API Differences
RCP
Desktop-only features
RAP
Web-specific features
SingleSourcing via Fragments Fragments Host Bundle
Handy Tools Eclipse SDK
RAP SDK includes
- RAP Runtime - Tooling - Help
Workplace
Shared Projects RAP Workspace
RCP Workspace
Example Application RCP Mail Demo
48
Runs immediately...
49
Runs in a browser...
50
Real World Examples?
52
Numiton PHP->Java
53
Memory Analyzer I
54
Memory Analyzer II
55
Conclusion
RAP enables reuse RAP enables modularity Give it a try! www.eclipse.org/rap
56
Q&A
Thanks for listening! Questions!? www.eclipsesource.com www.eclipse.org/rap 57