Professional Client and Plug-in Development with Eclipse RCP
(4 Days)
This course will teach you everything you need to develop RCP applications and plug-ins.
Our veteran Eclipse developers, with years of product development experience, will help you "get" the Eclipse Rich Client Platform and will provide you with the insight you need to start your own development efforts.
During this class you will incrementally develop a full RCP application. The hands-on focus and the 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.
Course Goals
- Understand the most common concepts Eclipse Rich Client Platform (RCP)
- Apply those concepts for the development of general GUI-applications
- Gain working knowledge the Eclipse RCP architecture and individual subsystems
- Become familiar with best practices for RCP development
Target Audience
- The training is best for Java developers who would like to benefit from Eclipse's Rich Client Platform for the development of general, non-IDE, GUI applications
Prerequisites
- Strong knowledge of Java and object-oriented programming
- Experience using the Eclipse IDE
- Basic knowledge of design patterns and XML
Contents
- Introduction to RCP
- History, Benefits and Examples
- Architecture of an RCP application
- Plug-in based modularization
- The Eclipse Workbench
- The Workbench - Eclipse's UI Metaphor
- Windowing: Window, Menu, Page, Perspective, View, Editor
- How is an RCP application launched?
- Workbench advisor classes
- Plug-ins and OSGi
- OSGi and RCP
- How do plug-ins work together?
- Plug-in and package dependencies
- Plug-in lifecycle
- Versioning and naming conventions
- Extension Points
- Extension Points, Extensions, Contributions
- Perspectives Extension Point
- Views Extension Point
- Writing your own extension point
- Branding and Packaging
- Customize your application with product branding
- Packaging an application with features
- Deploying your RCP application
- Internationalization (i18n)
- Adding support for multiple languages
- Limitations
- 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
- JFace Viewers
- Introduction to Structured Viewers
- Using a JFace Tree Viewer
- Tables and the Jface Table Viewer
- Integrating with the selection service
- SWT / JFace Dialogs
- Reusable SWT and JFace Dialogs
- Examples
- JFace Wizards
- Contributing Wizards
- Defining a wizard extension
- Implementing a wizard and wizard pages
- Customizing a wizard
- Controlling wizard page progression
- 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
- Pop-up menus
- Retargetable actions (copy, cut, paste, ...)
- 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
- Help
- Overview of the Eclipse Help System
- Adding help content
- Adding context sensitive help
- Active Help
- Testing with JUnit
- What is PDE JUnit?
- What is the best way to structure test code?
- Data Binding
- What is the JFace Databinding?
- Prerequisites and limitations
- Databinding example
Provided Training Materials
- Personalized Training Handbook
- CD / download with application platform and solutions to all exercises (source code)
Additional Information
- Course Duration: four days
- Course format: instructor led with at least 50% hands-on labs and tutorials
- Learn better in a small group: we guarantee a maximum number of 6-8 participants per class
- Participants must bring their own laptop with an up-to-date installation of Eclipse
Course Language
Classes at US locations are held in English. Classes in Germany are held in German. Further languages are available upon request.
Pricing
Pricing varies by location. Please refer to the registration forms below for details.
Registration and Contact
Register today to reserve your spot, by filling out the registration for your course:
Course Schedule USA
Unanswered questions? No matching dates? Prefer a training at your office?
We look forward to hearing from you:
North America:
Elias Volanakis
(+1) 503-552-1457
evolanakis(at)innoopract.com
Europe:
Michaela Unser
(+49) 721 664733 0
munser(at)innoopract.com