How beginners took on the RCP Framework ! 5 Golden Rules
Anne-Laure Lugan - EADS Astrium
Igor Laborie - AKKA
Speakers
Igor Laborie - AKKA Seasoned Eclipse RCP Developer
Expert on Solea Project
Anne-Laure Lugan - EADS Astrium Proxy Product Owner on Solea Project
Developer on Solea Project
What is Solea ?
Solea : project context
•User can … to .. ?
•User can … to .. ?
•User can … to .. ?
•User can … to .. ?
•User can … to .. ?
•User can … to .. ?
• User can … to .. 1
•User can … to .. 8
•User can … to .. 2
•User can … to .. 3
•User can … to .. 3
•User can … to .. 5
• User can … to .. 1
•User can … to .. 8
•User can … to .. 2
Sprint 4 weeks
1 day
Highest priorities
How to learn Eclipse RCP?
Learning? Newbes
team Benefits? No bugs!
Tough
choices
htt
p:/
/geekandpoke.t
ypepad.c
om
/geekand
poke/2
01
1/0
7/g
raph
-th
eory
-for-
ge
eks.h
tml
SWT
Java
OSGi
Java
Swing SWT
Learning? Newbes
team Benefits? No bugs!
Tough
choices
OSGi “OSGi don't let
me be
Misunderstood”
Think
modular
What if my team is all “RCP-newbies”?
htt
p:/
/geekandpoke.t
ypepad.c
om
/geekand
poke/2
01
2/0
4/t
he
-ne
w-d
evelo
per.
htm
l
OSGi Newbes
team Benefits? No bugs!
Tough
choices
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development team is face-to-face
conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity--the art of maximizing the amount
of work not done--is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
The best architectures, requirements, and
designs emerge from self-organizing teams.
OSGi Newbes
team Benefits? No bugs!
Tough
choices
Team
continuous
improvement
Refactor
with
experience
Mix
people
Errare
humanum
est
Code
review
OSGi Team
Continuous
Improvement
Benefits? No bugs! Tough
choices
Which can be Eclipse RCP benefits?
htt
p:/
/geekandpoke.t
ypepad.c
om
/.a/6
a00d
83
41
d3
df5
53
ef0
120
a5
09c1c59
70
b-8
00
wi
Java
OSGi
Equinox
Eclipse RCP
Solea Default chart colors
UI Prefs
Prefs
Console
Files
Console
Log
Extracting...
Job
Tutorial
Help
OSGi Team
Continuous
Improvement
Benefits? No bugs! Tough
choices
Reuse
Rich
framework
Think
service
OSGi
services
Respect
standards
htt
p:/
/geekandpoke.t
ypepad.c
om
/geekand
poke/2
01
0/0
6/h
ow
-to-b
ecom
e-a
n-a
wesom
e-c
oder-
part
-1.h
tml
How can I prevent my Eclipse RCP
application from having bugs?
OSGi Team
Continuous
Improvement
Reuse No bugs! Tough
choices
V1
V2
now
OSGi Team
Continuous
Improvement
Reuse No bugs! Tough
choices
Efficient
tests
Automation
From
start
1 bug
1 test
Fine
grain
Coarsed
grain
OSGi Team
Continuous
Improvement
Reuse
services
Efficient
tests
Tough
choices
htt
p:/
/geekandpoke.t
ypepad.c
om
/geekand
poke/2
01
0/0
7/s
poilt
-for-
choic
e.h
tml
3.x or 4.x ?
Eclipse 3
Eclipse 4
Shall I use EMF?
Shall I use dependency onto
org.eclipse.ide
BIRT? Custom solution?
Forms? SWT?
TreeViewer?
CNF?
OSGi Team
Continuous
Improvement
Reuse
services
Efficient
tests
Tough
choices
Code
continuous
improvement
Refactor
design
Refactor
code
OSGi
Team
Continuous
Improvement
Reuse
services Efficient tests
Code
Continuous
Improvement
Read
eclipse
code
Share your
experience
Think
simple
Details
matter
Keep your
code
clean
Tooling
Efficient build
process
Any question(s)?
Thanks !
Geek&Poke cartoons are licensed under a Creative Commons Attribution 3.0 Unported License