Introduction to Eclipse 4

Contact us to book a training

Eclipse 4 (e4) is the next major release stream of the Eclipse RCP SDK. While Eclipse 3.x is great technology, the software landscape is changing, requiring core innovations within Eclipse. The Eclipse e4 team has taken on this challenge and reimplemented basic parts of the Eclipse Platform following new paradigms. The core goals of the project are to decrease complexity and to make Eclipse applications visually more appealing. Eclipse 4 introduces innovative programming techniques such as dependency injection, annotations and CSS styling. It reduces complexity by providing a consistent model of the workbench, based on EMF.

This course introduces the most important features of the new Eclipse Platform, highlights the major improvements over Eclipse 3.x and enables participants to develop applications based on Eclipse 4.

Course participants will iteratively create an Eclipse 4 application including a workbench, views, menu items and services. The course will also show how the application can be styled using Cascading Style Sheets (CSS). Finally, participants will learn how innovations from Eclipse 4 can be integrated into existing applications based on Eclipse 3.x.

This course is designed by Eclipse project leads and committers. We keep a small class format (maximum 8 participants) to ensure you will gain a broad understanding of Eclipse 4 and receive plenty of individual support from our experts.

Basic experience with Eclipse RCP development or the equivalent course is a prerequisite for this course.

Duration: 2 days

Dates and Registration

For dates of public trainings in Munich and exclusive onsite trainings please get in contact with us.

Course Goals, Audience and Prerequisites

Course Goals

  • Understand the fundamental innovations in the Eclipse 4 platform
  • Apply the concepts of Eclipse 4 to build a complete application
  • Experience the advantages of Eclipse 4 compared to Eclipse 3.x
  • Learn how and when to introduce Eclipse 4 in a running project
  • Gain an overview of Eclipse 4 technologies and frameworks in the Eclipse Ecosystem

Target Audience

  • Developers who wish to transfer their RCP development knowledge from Eclipse 3.x to Eclipse 4
  • Architects who are planning to use Eclipse 4 technology in existing software projects


  • Knowledge of Java and object-oriented programming
  • Basic knowledge of RCP development in Eclipse 3.x
  • Experience using the Eclipse IDE is beneficial

Course Outline

Eclipse 4 Overview

  • Motivation for a new platform
  • Core innovations
  • Hello World

The Application Model

  • Overview EMF (optional)
  • Eclipse 4 Tooling
  • Modeling an application
  • Linking the workbench model to implementations
  • Programmatically modifying the workbench model
  • Extending a model using fragments

Dependency Injection

  • Overview
  • The Eclipse context
  • Manual injection
  • Programming with Annotations


  • Overview
  • Using existing services
  • Declaring custom services

Commands and Handlers

  • Introduction to commands, items and handlers
  • Integrating with the selection service
  • Pop-up menus
  • Conditional enablement and visibility
  • Key Bindings

Modular Application Models

  • Contribute extensions to an application model
  • Model Fragments
  • Model Processors


  • Contributing and opening an editor
  • Implementing an editor
  • Managing the dirty state of an editor

Additional Model Elements and Services

  • Perspectives
  • Placeholder

Additional topics

  • Styling
  • Event Bus


  • Using Eclipse 4 technologies in 3.x
  • Migrating to Eclipse 4
  • Additional technologies

More Info


  • Course duration: 2 days
  • Course structure: instructor led with at least 50% hands-on labs and tutorials
  • Learn better in a small group: maximum 6-8 participants per instructor
  • Equipment: participants supply their own computer with an up-to-date installation of Eclipse


Classes in Germany are held in German. All other courses are held in English. Other languages are available on request.