The e4 Programming Model Across Web and Desktop Boris Bokowski
Does your Eclipse-based application have a server-side or web aspect? Do you have to write a web UI, an Eclipse IDE or RCP UI, and maybe even a UI for other contexts such as embedded? Wouldn’t it be great if components could be reused across all of these technologies, and applications could be written using a common programming model?
In this talk, we will explain how e4 takes to the next level what we have learned about integrating UI components over the past ten years. In e4, connections between plug-ins and their context, as well as between themselves, will be available as individual services that can be implemented in a desktop, web, or embedded context. The services can be used individually, or together, and from any programming language. This reduces the impedance mismatch between desktop and web technologies, and enables a whole range of interesting possibilities: plug-ins implemented in scripting languages, web UI components as first-class views or editors in a desktop Eclipse, and web mashups consisting of cross-compiled desktop UI components as well as native web UI components.
To make this concrete, we demonstrate embedding an existing, real-world web UI into Eclipse with tight integration into services offered by the platform such as: editor lifecycle, drag and drop, progress/status reporting, notifications, preferences, and others. We also discuss other issues important to maintain an integrated user experience such as single sign-on, and hiding 'browserness'.