Course Objectives
- Understanding RCP architecture
- Designing Eclipse plug-ins
- Building SWT/JFace IHMs
- Mastering application distribution
Target Audience
- Developers
- Project managers
- Software architects
Duration
4 days
Course Plan
Introduction
- Eclipse Ecosystem, Eclipse Indigo
- Eclipse interface : the workbench, perspectives, views and editors, preference pages, launch configurations
Eclipse Architecture
- OSGi Architecture : bundles, fragments, MANIFEST.MF
- Eclipse Architecture : plugins, fragments, features, RCP, e4
- Extensions and extension points, plugin.xml file
- Development tools : the PDE
Standard Widget Toolkit (SWT)
- Presentation and comparison with AWT and Swing
- Simple widgets and containers (Button, Text, Group, …)
- Advanced widgets : Tree, Table
- Position management : Layouts et LayoutData
- Resources management : Font, Color, Images
- Event management : Events et Listeners
- Window Builder to design your UI
JFace Library
- Introduction to JFace
- Viewers and the MVC pattern
- Input, Content and LabelProvider
- Registries : color, font and image management
- Widgets to help in writing preference pages
Standard Extension Points
- Views, perspectives, preference pages, properties and wizards
- Commands, handlers, menus and expressions
- Adapter factories
- Help mechanism (static, help context)
Standard APIs
- Main classes : Runtime, Platform, Plugin, Logger …
- Events: selection, view synchronization…
- Data binding, drag and drop and copy/paste
- Jobs and UIJobs
- Actions, operations and commands, undo/redo.
- Resources and workspace
Defining a New Extension Point
- Principle, Design
- Definition, schema, parameters
- Java coding and extension of extension point
Rich Client Platform (RCP)
- Defining the workbench : Advisors, Workbench, ActionBar
- Production configuration, RCP branding
- Internationalization management
- RCP to RAP (Rich Ajax Platform) : how launching its RCP application inside a browser. Good practices and single sourcing
Industrialization and delivery
- Feature, products, p2 repository
- Tests management (core and UI)
- Manual delivery
- Multi platform delivery using the delta pack
- Introduction to automatic delivery tools
Exercises
- About fifteen exercises illustrating the concepts on the subject of a rental agency


