Home Tutorials Training Consulting Products Books Company Donate Contact us
German English

Eclipse Rich Client Platform (RCP) Training

Duration: 5 days
Target group: Software developers and architects

Training overview:
In this intensive training you learn the professional development of Eclipse RCP applications based on Eclipse 4.4. The practical part is about 50% and due to many optional chapters, the course is suitable for both Eclipse RCP newcomers as well as for developers with Eclipse 3.x RCP knowledge.
In the training you will work based on the latest Eclipse 4 Programming Interface (API). The Migration of Eclipse 3.x RCP applications will also be discussed.

If your are planning a migration from Eclipse 3.X to Eclipse 4, we also offer a Eclipse 4 RCP Delta training. In this training you will learn the new concepts of Eclipse 4 and the differences to Eclipse 3.x.

Training material:
You will receive comprehensive courseware.

Training prerequisites:
Knowledge of Java programming and basic knowledge of the Eclipse IDE are assumed. After registering for the training you will receive preparatory material that you may be able to use in order to freshen up your Java and Eclipse knowledge.

Training fee:
The fee for the open training is 2400 EUR plus VAT. In this case, we ​​organize the location, as well as the food and beverages during the training. Laptops can be provided on request. We offer an early bird discount for registrations up to 6 weeks before the beginning of the training and a colleague discount.

Open Training

Request information.

29.05 - 02.06.2017 in Hamburg (German)

29.05 - 02.06.2017 in Hamburg (German)

Inhouse Training

We are happy to train your development team at your location.

Inhouse Training Request


  • Introduction into Eclipse and Eclipse 4
    • Components of the Eclipse platform
    • Eclipse 3.x in comparison with Eclipse 4.x
    • Eclipse license
    • Internet information sources
  • Eclipse architecture
    • Software components
    • Configuration files (plugin.xml, MANIFEST.MF)
    • Extensions and extension points
    • Important user interface components
  • Deployment of an Eclipse product
    • Product configuration file
    • Feature projects
    • Branding and product export
    • Run configuration
    • Problem analysis during export
  • Eclipse 4 application model
    • Application model and model components
    • Model editor
    • Naming schema for ID's
  • Dependency injection and annotations
    • Overview dependency injection
    • Dependency injection framework in Eclipse
    • Field, method and constructor dependency injection
    • Behavior annotations
    • Application lifecycle annotations
  • Commands, Handlers, Menus and Toolbars
    • Contributing to the menu and the toolbar
    • Handling of popup menus
    • Scope of handlers and core expressions
    • Defining keybindings
  • Scope of injection
    • IEclipseContext
    • Injection search strategy
    • Creation of injectable objects
    • Model elements and dependency injection
  • Modularity of the Eclipse platform with OSGi
    • Plug-ins and bundles
    • Definition of dependencies between plug-ins
    • Fragment projects
    • OSGi framework start configuration and usage of the OSGi console
  • OSGi services
    • Services and the OSGi service registry
    • Publishing services via OSGi declarative services
    • Usage of services in Eclipse 4
    • OSGi declarative service definition with annotations
  • User interface development with SWT
    • Overview Standard Widget Toolkit
    • SWT event handling
    • SWT layout manager: FillLayout, RowLayout and GridLayout
    • User interface builder: SWT Designer
    • Custom widgets and Nebula widgets
  • Introduction JFace
    • Overview JFace components
    • SWT resource management
    • Control decorations for user feedback
    • Introduction into the Viewer framework (LabelProvider, ContentProvider, ComboViewer)
    • Handling Viewer selection
  • JFace TableViewer and TreeViewer
    • ColumnLabelProvider and CellLabelProvider
    • Editable tables
    • Sorting, filtering, layouts and own label provider
  • Dialog and Wizards
    • SWT standard dialogs
    • JFace Dialogs
    • JFace Wizards
  • Declarative styling with CSS
    • Introduction into CSS
    • Definition of styles and themes, colors and gradients
    • Styling specific widgets
    • Dynamic style switching at runtime
    • Using the CSS Spy tooling
  • Platform services and interaction of components
    • Service overview
    • Part service
    • Model service
    • Selection service
    • Command and Handler service
  • Editor handling in Eclipse 4
    • Comparison Views and Editors
    • Getting parts which behave as editors
    • Using services to interact with parts
  • Accessing and extending the Eclipse context
    • Accessing the context
    • Extending the Eclipse context with own objects
    • Using dependency injection to create own objects
  • Settings and preferences
    • Configuration area and workspace
    • Persistence of the Eclipse application
    • Part persistence
    • Dependency injection for preference values
  • Modularity for Eclipse 4 applications
    • Contributing to the application model
    • Static model contributions with fragments
    • Dynamic model contributions with processors
  • Internationalization (i18n)
    • Adding support for multiple languages
    • Usage of fragment projects
    • Outlook: translation services in Eclipse 4
  • Concurrent UIs
    • SWT threading
    • Avoiding invalid thread access
    • Asynchronous processing with the Eclipse API
  • JFace Data Binding
    • Introduction into databinding
    • Observing properties
    • Conversion, validation and update strategies
    • Databinding for JFace Viewers
    • Master / detail bindings
  • Target Platform
    • Definition of development components
    • Creation of target platform definitions
  • Migrating Eclipse 3.x applications
    • Running Eclipse 3.x applications on top of Eclipse 4
    • Mixing Eclipse 3.x and Eclipse 4.x components
    • Discussion: Migration path for existing applications
  • Definition of own annotations for dependency injection
    • Definition of new annotations
    • Evaluation of new annotations
    • Use cases
  • Creating and evaluating extension points
    • Eclipse extensions and extension points
    • Accessing existing extensions
    • Creating and evaluating a new extension point
  • The Renderer framework
    • Purpose of the Renderer framework
    • Define your own renderer
    • Outlook: Using an alternative renderer
    • Outlook: Extending the application model
  • Best practices and tips & tricks

Contact us

Email sales@vogella.com
Tel +49 40 7880 4360