Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future


Published on

Presentation from Eclipse Demo Camp 2010 in Copenhagen.

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Also an outline of the history of Eclipse See
  • Context Also eases the testing of application code – you “just” need to fake the environment
  • Commands are global, but the implementations (Handlers) can be local – also so with bindings
  • Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future

    1. 1. Eclipse e4 – The Status and the Future Presentation by Tonny Madsen at Eclipse Demo Camp in Copenhagen 1. December 2010
    2. 2. The Eclipse Story <ul><li>1994: IBM develops VisualAge for Smalltalk – programmed in Smalltalk </li></ul><ul><li>1995: Java is released to a select group </li></ul><ul><li>1996: IBM develops VisualAge for Java – still programmed in Smalltalk </li></ul><ul><li>November 1998: OTI (Object Technology International – part of IBM) is commissioned to develop new development platform for Java </li></ul><ul><ul><li>First known as VisualAge Micro Edition (VAME) and later Eclipse </li></ul></ul><ul><li>7. November 2001: Eclipse 2.0 made Open Source </li></ul><ul><li>25. June 2004: Eclipse 3.0 released introducing Eclipse RCP </li></ul><ul><ul><li>Framework make-over introducing OSGi </li></ul></ul><ul><li>2009: Eclipse 3.5 released – known as Galileo </li></ul><ul><li>27. June 2010: Eclipse 3.6 will be released </li></ul><ul><ul><li>Also known as Helios </li></ul></ul><ul><li>End of July, 2010: Eclipse SDK 4.0 Early Adopter Release </li></ul><ul><ul><li>First release of e4 technology </li></ul></ul><ul><li>June 2011: Eclipse 3.7 will be released </li></ul><ul><li>June 2011: Eclipse 4.1 will be released </li></ul><ul><li>June 2012: Eclipse 4.x will be released </li></ul>
    3. 3. The e4 History <ul><li>5. Marts 2008: Later night at EclipseCon ’08 </li></ul><ul><ul><li>SWT Browser Edition </li></ul></ul><ul><ul><li>Eclipse IDE in a Browser </li></ul></ul><ul><ul><li>Separation of WB Model and View </li></ul></ul><ul><ul><li>Scripting </li></ul></ul><ul><li>20. May 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ </li></ul><ul><ul><li>Platform designed from Scratch </li></ul></ul><ul><ul><li>Based upon an EMF-Application-Model </li></ul></ul><ul><ul><li>No statics, no singletons, usage of Dependency Injection </li></ul></ul><ul><ul><li>Based on OSGi-Services </li></ul></ul><ul><li>20. November 2009: 1.0M2 released </li></ul>
    4. 4. SWT Browser Edition <ul><li>Technology worked really well </li></ul><ul><li>But not applicable without rewriting Java </li></ul><ul><li>We’d rather rewrite with HTML5, JavaScript, CSS </li></ul>
    5. 5. Why e4 <ul><li>Simplify the Eclipse programming model </li></ul><ul><ul><li>This will reduce development and maintenance costs and enable a larger developer community to leverage the platform in their own Eclipse-based applications </li></ul></ul><ul><li>Enable the platform for use on emerging web-based runtime technologies </li></ul><ul><ul><li>This will ensure the platform remains a compelling and viable application framework in a rapidly changing web technology landscape, and it will allow e4-based applications to leverage web technologies, while remaining insulated from specific technology choices that may quickly become obsolete </li></ul></ul><ul><li>Broaden participation in development of the platform </li></ul><ul><ul><li>This reduces the risks associated with building on a platform largely funded from a single source. Having a large and diverse group of commercial backers, will ensure the platform remains vibrant and viable over the long term </li></ul></ul>
    6. 6. Main Technical Differences between Eclipse 3.x and e4 <ul><li>Application Model in EMF </li></ul><ul><ul><li>Complete live model for the application – changes are reflected immediately in the application </li></ul></ul><ul><li>Rendering the Application </li></ul><ul><ul><li>Maps the model to the UI </li></ul></ul><ul><ul><li>Allows for a completely new look and feel without touching the internals </li></ul></ul><ul><ul><li>Allows support for different widget sets – even Adobe Flash or Microsoft Silverlight </li></ul></ul><ul><li>Context </li></ul><ul><ul><li>Contains the context/environment for all contributions </li></ul></ul><ul><ul><li>Brokers interaction with the framework: service lookup, service registration </li></ul></ul><ul><li>Dependency Injection </li></ul><ul><ul><li>Allows for POJOs for all contributions </li></ul></ul>
    7. 7. Basic e4 Workbench Model Application Command Handler Binding Window Part Menu Part Description Toolbar
    8. 8. Component Overview Dependency Injection Eclipse Context Declarative Styling Core Services Workbench Rendering Engine Modeled Application XWT Open Social Gadgets
    9. 9. Application Model
    10. 10. Code for Parts <ul><li>The code that provides the “parts” of the application is ordinary POJO </li></ul><ul><ul><li>No special inheritance – e.g. IViewPart or IWizardPage </li></ul></ul><ul><ul><li>Services provided via Dependency Injection </li></ul></ul>public class Preview { public Preview(Composite parent, Realm workspace) { // Create UI ... } @In public void setSelection(final IFile input) { // React on Selection Changes } }
    11. 11. Open Social Gadgets <ul><li>What are OpenSocialGadgets </li></ul><ul><ul><li>Gadgets are web-based software components based on HTML, CSS, and JavaScript. </li></ul></ul><ul><li>Open Eclipse for a new set of devlopers </li></ul><ul><li>Examples </li></ul><ul><ul><li>Remember the Milk </li></ul></ul><ul><ul><li>Twitter Gadget </li></ul></ul><ul><ul><li>… </li></ul></ul>
    12. 12. If You Want to Know More about e4 <ul><li>The Project: </li></ul><ul><ul><li> </li></ul></ul><ul><li>Downloading e4: </li></ul><ul><ul><li> </li></ul></ul><ul><li>Downloading Eclipse 4.1M3 </li></ul><ul><ul><li> </li></ul></ul><ul><li>The Wiki: </li></ul><ul><ul><li> </li></ul></ul><ul><li>The training: </li></ul><ul><ul><li>Not yet, but coming after the Summer </li></ul></ul><ul><li>Tutorials on e4: </li></ul><ul><ul><li> </li></ul></ul><ul><ul><ul><li>A “create an application” tutorial from Lars Vogel </li></ul></ul></ul>