5 days | Software developers and architects |
Training overview
In this intensive training you learn the professional development of Eclipse RCP applications based on the latest
Eclipse release. 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. You will receive comprehensive courseware.
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 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.
Organization
For the open training we organize the location, as well as the food and beverages during the training.
Laptops can be provided on request.
Customer reviews
Online Training
Language | Price | |||
---|---|---|---|---|
Eclipse RCP Development in the vogella interactive Learning Portal | English | 490 EUR * | ||
* Annual fee for the first year. For each additional year, the annual fee is 110 EUR. All prices are listed w/o VAT. |
Onsite or virtual Training
Place | Date | Language | Price | |
---|---|---|---|---|
At your location or virtual | tbd | German / English | Upon 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
Building Eclipse applications with Maven
- High level overview of Tycho
- Building plug-ins, features, products and update sites
- Executing plug-in unit tests with Tycho