Eclipse RCP Plug-in Development Course

Course Objectives

  • Understanding RCP architecture
  • Designing Eclipse plug-ins
  • Building SWT/JFace IHMs
  • Mastering application distribution

Target Audience

  • Developers
  • Project managers
  • Software architects

Pre-requisites

    • Knowledge of Java

icon-pdf-48 Upload the course plan

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