The Eclipse Rich Client Platform (RCP) is very powerful but extremely comprehensive. No matter how much you know, there is always more to learn. You might be facing a project requiring specific knowledge, need to scale up your RCP efforts or simply be looking to broaden your understanding of the platform. Either way this course is for you.
Using course material that was designed by the RCP project leaders and committers, the people who literally wrote the book on the subject, this course builds on your current knowledge by adding insights on key aspects of the technology. Our veteran Eclipse developers, with years of product development experience, provide deep insights, best practices and context to help drive your development efforts and optimize your use of Eclipse.
Course participants are given a functional RCP application which they expand, extend and optimize in a series of hands-on sessions. Keeping a small class format (max. 6-8 participants) ensures that you’ll gain a deep understanding of Eclipse RCP and get plenty of individual support from our experts.
Duration: 3 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 advanced Eclipse RCP topics in depth
- Learn Eclipse RCP concepts to create large-scale platforms and applications
- Explore packaging and delivery strategies available to RCP-based systems
Target Audience
- RCP developers looking to deepen their knowledge
- Software architects interested in building business-wide software platforms
- Eclipse plug-in developers wanting to round off their knowledge for RCP-specific scenarios
Prerequisites
- A good understanding of RCP concepts
- Experience of using the Eclipse IDE
- Knowledge of Java and object-oriented programming
Course Outline
Plug-in (Bundle) Best Practices
- Modularity and loose coupling
- Lazy loading
- Plug-in and package dependencies
- Plug-in lifecycle
- Versioning and naming conventions
Jobs and Liveness
- Busy Cursor
- Progress Monitoring
- Concurrency and the Jobs Framework
- Reusing the Progress View
Adapters
- Adaptable objects
- Extending object behavior the Eclipse way
- Working with adapter factories
Data Binding
- Synchronizing data models and their presentation
- Binding to POJOs, Beans and SWT widgets
- Introduction to validation and conversion
User Assistance
- Reusing the Eclipse Help framework in RCP
- Static and Active Help
- Context sensitive help
- Cheat Sheets
Virtual Trees and Tables
- Displaying and manipulating large data sets
- SWT.VIRTUAL and Lazy Content Providers
- Limitations and Best Practices
Defining Extension Points
- The Equinox Extension registry
- Defining extension points
- Creating contributions and accessing the extension registry
- Platforms as a structured system of extension points and contributions
- Executable Extensions and extension factories
Customizing the Look and Feel
- The Eclipse Presentation API
- Creating a small custom presentation
Provisioning with p2
- p2 Overview
- Concepts and Technology
- Integrating p2 into an RCP application
- Manual Install / Update / Rollback with p2
- p2 Tips and Tricks
Headless Build
- Introduction to PDE build
- Configuring and running headless Eclipse RCP product builds
- Generating p2 repositories in the build
Eclipse Preferences
- Preference and scopes
- Storing and retrieving preferences
- Initializing default values
- Preference pages
- Secure preferences
More Info
Format
- Course duration: 3 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