The Eclipse Rich Client Platform (RCP) is used in almost every industry. Using course materials designed by the RCP project leaders and committers, the people who literally wrote the book on the subject, this course accelerates your adoption of this comprehensive platform. Our veteran Eclipse developers, with years of product development experience, teach you the key technology and techniques you need to develop powerful RCP applications and plug-ins. Along the way they provide deep insights and context to help you to start your own development efforts and keep on track.
Course participants develop a functional RCP application from scratch in a series of hands-on focused sessions. Keeping a small class format (max. 6-8 participants) ensures that you’ll gain a broad understanding of Eclipse RCP and get plenty of individual support from our experts.
Duration: 4 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 most common concepts Eclipse Rich Client Platform (RCP)
- Apply those concepts to the development of general GUI-applications
- Gain working knowledge of the Eclipse RCP architecture and individual subsystems
- Become familiar with best practices for RCP development
Target Audience
- Java developers looking to benefit from Eclipse’s Rich Client Platform for developing general, non-IDE, GUI applications
- Software architects interested in building business-wide software platforms
- Eclipse plug-in developers wanting to round off their knowledge and optimize their skills for RCP-specific scenarios
Prerequisites
- Knowledge of Java and object-oriented programming
- Experience of using the Eclipse IDE is desirable
- Basic knowledge of design patterns and XML
Course Outline
Introduction to RCP
- History, Benefits and Examples
- Architecture of an RCP application
- Plug-in based modularization
Applications & Workbench
- The Workbench – Eclipse’s UI Metaphor
- Windowing: Window, Menu, Page, Perspective, View, Editor
- How is an RCP application launched?
- Workbench advisor classes
Views & Perspectives
- Introduction to extension points
- Adding views
- Adding perspectives
- How to arrange views within a perspective
- Saving the user interface state
JFace Viewers
- Introduction to Structured Viewers
- Using a JFace Tree Viewer
- Content and Label Providers
- Tables and the JFace Table Viewer
Actions and Commands
- Introduction to actions and commands
- Where can I add actions/commands in the Eclipse UI?
- Adding actions/commands through code and xml
- Integrating with the selection service
- Pop-up menus
- Conditional enablement and visibility
Editors
- Types of editors
- Differences between views and editors
- Contributing and opening an editor
- Implementing an editor
- Managing the dirty state of an editor
Branding and Packaging
- Customize your application with product branding
- Packaging an application with features
- Deploying your RCP application
SWT Widgets
- Introduction to SWT
- SWT widgets / controls
- Basic structure of an SWT application
- Threading in SWT
SWT events
- Integrating Swing / AWT with SWT
- SWT Layouts
- SWT layout concepts
- Using SWT layout managers
SWT / JFace Dialogs
- Reusable SWT and JFace Dialogs
- Examples
Help
- Overview of the Eclipse Help System
- Adding help content
- Adding context sensitive help
OSGi Essentials
- OSGi and RCP
- How do plug-ins work together?
- Plug-in and package dependencies
- Plug-in lifecycle
- Versioning and naming conventions
JFace Wizards
- Contributing wizards
- Defining a wizard extension
- Implementing a wizard and wizard pages
- Customizing a wizard
- Controlling wizard page progression
Data Binding
- What is the JFace Databinding?
- Prerequisites and limitations
- Databinding example
Defining your own extension points
- Extension Points, Extensions, Contributions
- Extension Point Editor and Schema
- Using the Extension Registry
Internationalization (i18n)
- Adding support for multiple languages
- Limitations
Testing with JUnit
- What is PDE JUnit?
- What is the best way to structure test code?
More Info
Format
- Course duration: 4 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
Languages
Classes in Germany are held in German. All other courses are held in English. Other languages are available on request.
Training Feedback
I just wanted to say thank you for the great course on RCP development. The materials and exercises were very professional. The online delivery worked very well, allowing me to take the course from home and cutting down the costs and time commitment greatly. I also want to say you were a great instructor who really knows his subject matter very well. I also picked up as a side benefit a great number of tips on using the Eclipse IDE.
Brett Baudin