As a company, we’ve been working on Eclipse Technologies for the past 10 years and we have built a lot of application on top of them. We recently faced a big challenge by migrating one of our biggest application from Client-Server to a Web architecture. We developed this app by adopting some EMF technologies (such as EMF Edit, Parsley, CDO, etc..) and some good practices like Inversion of Control (with Google Guice) and MVP pattern. And we were really surprised how easily we realized this porting, since we replaced both UI and persistence layers in a matter of a few days.
One of the central aspects in Eclipse 4 is Dependency Injection, and for many cases it works like a charm. This talk is motivated by two cases in which the magic fades a bit, because some effort is required to make it work:
1. Injecting legacy components which are not instantiated by the application model
This is an issue if you are not developing E4 RCP applications, but want to enhance the Eclipse IDE using E4 technologies.
2. Performing Dual Injection with E4DI and Guice