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

12
PR0034 - 2010-11-30 Redistribution and other use of this material requires written permission from The RCP Company. Eclipse e4 – The Status and the Future Presentation by Tonny Madsen at Eclipse Demo Camp in Copenhagen 1. December 2010

description

Presentation from Eclipse Demo Camp 2010 in Copenhagen.

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

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

PR0034 - 2010-11-30

Redistribution and other use of this material requires written permission from The RCP Company.

Eclipse e4 – The Status and the Future

Presentation by Tonny Madsen at Eclipse Demo Camp in Copenhagen1. December 2010

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

PR0034 - 2010-11-30

2

The Eclipse Story

1994: IBM develops VisualAge for Smalltalk – programmed in Smalltalk 1995: Java is released to a select group 1996: IBM develops VisualAge for Java – still programmed in Smalltalk November 1998: OTI (Object Technology International – part of IBM) is commissioned

to develop new development platform for Java First known as VisualAge Micro Edition (VAME) and later Eclipse

7. November 2001: Eclipse 2.0 made Open Source 25. June 2004: Eclipse 3.0 released introducing Eclipse RCP

Framework make-over introducing OSGi

2009: Eclipse 3.5 released – known as Galileo

27. June 2010: Eclipse 3.6 will be released Also known as Helios

End of July, 2010: Eclipse SDK 4.0 Early Adopter Release First release of e4 technology

June 2011: Eclipse 3.7 will be released June 2011: Eclipse 4.1 will be released

June 2012: Eclipse 4.x will be released

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

PR0034 - 2010-11-30

3

The e4 History

5. Marts 2008: Later night at EclipseCon ’08 SWT Browser Edition Eclipse IDE in a Browser Separation of WB Model and View Scripting

20. May 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform designed from Scratch Based upon an EMF-Application-Model No statics, no singletons, usage of Dependency Injection Based on OSGi-Services

20. November 2009: 1.0M2 released

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

PR0034 - 2010-11-30

4

SWT Browser Edition

Technology worked really well

But not applicable without rewriting Java

We’d rather rewrite with HTML5, JavaScript, CSS

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

PR0034 - 2010-11-30

5

Why e4

Simplify the Eclipse programming model This will reduce development and maintenance costs and enable a larger

developer community to leverage the platform in their own Eclipse-based applications

Enable the platform for use on emerging web-based runtime technologies 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

Broaden participation in development of the platform 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

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

PR0034 - 2010-11-30

6

Main Technical Differences between Eclipse 3.x and e4

Application Model in EMF Complete live model for the application – changes are reflected

immediately in the application

Rendering the Application Maps the model to the UI Allows for a completely new look and feel without touching the internals Allows support for different widget sets – even Adobe Flash or Microsoft

Silverlight

Context Contains the context/environment for all contributions Brokers interaction with the framework: service lookup, service registration

Dependency Injection Allows for POJOs for all contributions

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

PR0034 - 2010-11-30

7

Basic e4 Workbench Model

Application

Command

Handler Binding

Window

Part

Menu

Part Description

Toolbar

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

PR0034 - 2010-11-30

8

Component Overview

Dependency Injection

Eclipse Context

Declarative Styling

Core Services

Workbench

Rendering Engine

Modeled Application

XWT

Open Social Gadgets

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

PR0034 - 2010-11-30

9

Application Model

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

PR0034 - 2010-11-30

10

Code for Parts

The code that provides the “parts” of the application is ordinary POJO No special inheritance – e.g. IViewPart or IWizardPage Services provided via Dependency Injection

public class Preview {public Preview(Composite parent, Realm workspace) {

// Create UI ...}

@Inpublic void setSelection(final IFile input) {

// React on Selection Changes}

}

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

PR0034 - 2010-11-30

11

Open Social Gadgets

What are OpenSocialGadgets Gadgets are web-based software components based on HTML, CSS, and

JavaScript. Open Eclipse for a new set of devlopers Examples

Remember the Milk http://www.rememberthemilk.com Twitter Gadget …

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

PR0034 - 2010-11-30

12

If You Want to Know More about e4

The Project: http://www.eclipse.org/e4/

Downloading e4: http://download.eclipse.org/e4/downloads/

Downloading Eclipse 4.1M3 http://download.eclipse.org/e4/sdk/drops/S-4.1M3-201010291118/index.php

The Wiki: http://wiki.eclipse.org/E4

The training: Not yet, but coming after the Summer

Tutorials on e4: http://www.vogella.de/articles/EclipseE4/article.html

A “create an application” tutorial from Lars Vogel