Intro
Outline
Development Tricks
Console Log (1)
Console Log (2)
OSGi Console
Logging with Conditional Breakpoints (1)
Logging with Conditional Breakpoints (2)
Extension Locations (1)
Extension Locations (2)
Extension Locations (3)
Extension Locations (4)
Outline
Plug-in Naming Conventions
Package Naming Conventions
Extension Point Conventions
Outline
UI Contributions (XML vs. Code)
Action Responsibilities
Action Setup
Action Example in Java Source
Actions in Java Code
Predefined Actions
Using predefined Actions
Predefined Actions
Declarative Actions Example
Command & Key Bindings
IWorkbenchWindowActionDelegate
Declarative Actions
Recommendations
Outline
Library Plug-ins
Bundling by Injection
Use a Wizard
Problems with Injection
Bundling by Wrapping
Outline
Classloading Issues
Class.forName() Example
Class.forName() issues
Buddy Classloading
Buddy Policies
Buddy Classloading Example
Buddy Classloading Issues
Context Classloading
Outline
Deployment after Exporting
Adding Update Functionality
Find the Eclipse IDE Update Functionality
Eclipse IDE Update
A simple Update Action
Customized Update Action
Outline
Discussion
The Eclipse Rich Client Platform provides a feature rich framework for the development of rich client applications. This talk presents tips and tricks for the development of such applications. Kai introduces some general development tricks that are helpful for all users of the Eclipse SDK. E.g. the usage of extension locations in combination with links, conditional breakpoints, and some logging tips.
XML contributions vs. code
Eclipse RCP offers several ways of contributing UI elements to the application: Pure Java code, predefined actions and declarative extension points. Kai introduces these different approaches with pros and cons and will give recommendations.
Package and Plug-in Structures
In the Java world we often see best practices regarding how to structure the software. Kai will introduce common practices from the Eclipse world covering how to create package and plug-in structures.
Deployment & Update
One of the building blocks often reused in domain specific rich client applications is "update". Kai discusses several ways how a developer could leverage the update functionality of the Eclipse RCP. Also several deployment options are discussed.
Issues when using 3rd Party Libraries
With 3rd party libraries there are some typical issues in the Eclipse world: How to package them so they could be reused in an OSGi based environment, and how to deal with dynamically created classes that often lead to ClassNotFound exceptions or NoClassDefFound errors.
Kai Tödter works in the software architecture department of Siemens Corporate Technology. He has 10 years of professional Java experience. His current interest is software architecture for smart clients, with special focus on Eclipse RCP. Kai was delegated by Siemens as "Technical Liaison Manager for Java" to the USA and he has represented Siemens in the Executive Committee for Java ME of the Java Community Process.