Top Banner
Tom Schindl [email protected] http://www.bestsolution.at http://tomsondev.bestsolution.at Innsbruck, Austria e4 – The platform of the future DemoCamp Hamburg Firday, December 4 th , 2009
29

e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

Oct 06, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

Tom Schindl

[email protected]://www.bestsolution.at

http://tomsondev.bestsolution.at

Innsbruck, Austria

e4 – The platform of the future

DemoCamp HamburgFirday, December 4th , 2009

Page 2: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – About Me Founder and Ow ner of

B es tS olution.at E c lips e C ommitter

e4 Platform UI EMF

Projec tlead Nebula UFaceKit

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 3: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – The model a short history E c lips eC on 08 Firs t P rototype

May 20th 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 DI Based on OSGi-Services

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 4: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Component Overview

Modeled Application Core Services

DI, EclipseContext

Workbench + RenderingEngineDeclarative Styleing

XWTTM

OpenSocialGadgets

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

...

Page 5: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Anatomie of an E4-App M ain B uilding B locks

Application model instance POJO to fill the parts of the UI with content

Additiona l B uilding B locks CSS – Theming your application IEclipseContext – Accessing services, …

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 6: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – The application model C entra l Of the e4-A pplic ation

Application-Model

UI-Structure-Elements- Window- StackPart- SashPart- CompositePart- Part- ...

UI-Action-Elements- Command- MenuItem- ToolItem- ...

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 7: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Anatomie of an E4-App A pplic ation model

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 8: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Anatomie of an E4-App A pplic ation Log ic /U I-C ode in POJOpublic class Preview { public Preview(Composite parent, Realm workspace) { // Create UI ... }

@In public void setSelection(final IFile input) { // React on Selection Changes }}

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 9: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Anatomie of an E4-App DI to flatten the H iearchy

3.x e4

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 10: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Anatomie of an E4-App A pplic ation-C onta iner

e4-Application-Container

Application-Model

Part-Element

POJO-Bundle

POJO-Class

POJO-Bundle

POJO-Class

OSGi

DI-Component

OSGi-Service-Registry

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 11: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Anatomie of an E4-App W iring the part POJO into the

A pplic ation M odel

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 12: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Extending the App-Model Derive form bas e and add ow n

features

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 13: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Extending the App-Model

public class DetailPart { public DetailPart(UIComposite parent, Resource resource, IAddressSelectionBroker addressSelection, Store store) {

UIFactory<?> factory = parent.getFactory(); UIDesktop desktop = parent.getDesktop(); UFaceKitBuilder builder = new UfaceKitBuilder( factory, new DefaultBindingStrategy(desktop.getRealm(), Type.DOMAIN_TO_UI) ); builder.buildPart( parent, (IUIComposite) resource.getContents().get(0) );

}

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 14: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Extending the App-Model

Page 15: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – IEclipseContext and OSGi IE c lips eC ontext is a hierarchic a l

data s truc ture E 4 injec ts s ervic es of the loc a l

c ontext into your POJO Root of the IEclipseContext is the Equinox

Service Registration

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 16: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – IEclipseContext and OSGi

public class DetailPart { public DetailPart(UIComposite parent, Resource resource, IAddressSelectionBroker addressSelection, Store store) {

UIFactory<?> factory = parent.getFactory(); UIDesktop desktop = parent.getDesktop(); UFaceKitBuilder builder = new UfaceKitBuilder( factory, new DefaultBindingStrategy(desktop.getRealm(), Type.DOMAIN_TO_UI) ); builder.buildPart( parent, (IUIComposite) resource.getContents().get(0) );

}

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 17: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Example Application

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 18: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – UI as a service

e4 Application Container

IPresentationEngine ResourceLoading

UI

IPresentationEngine

App-Model

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 19: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – UI as a service The pres entation eng ine and

renderer c onc ept

e4 Application Container

App-Model

SWTPresentationEngine

AbstractRenderer

ETabFolderRenderer WindowRenderer ...

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 20: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – UI as a service Tas ks of the renderer

Manage Lifecycle of UI-Element Creation Dispose

Synchronize attributes between both Value changes Structural changes (add/move/remove of children)

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 21: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – SWT Renderer Default P res entation E ng ine

provided by E 4 Based on SWT Extensible by plug in your own renderers

One A ppmodel E lement multiple renderers

MPartStack

ETabFolderRenderer PShelfRenderer ....

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 22: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – SWT Rendererpublic class RendererFactory extends WorkbenchRendererFactory {

@Override public AbstractPartRenderer getRenderer(MUIElement uiElement, Object parent) {

if (uiElement instanceof MPartStack && usePShelfRenderer() ) {

if( stackRenderer == null ) { stackRenderer = new PShelfStackRenderer(); initRenderer(stackRenderer); }

return stackRenderer; }

return super.getRenderer(uiElement, parent); }

}

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 23: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – SWT Renderer

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

E nhanc ing the renderers

Page 24: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – SWT Renderer E nhanc ing the renderers

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 25: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Open Social Gadgets W hat a re OpenS oc ia lG adg ets

Gadgets are web-based software components based on HTML, CSS, and JavaScript.

Open E c lips e for a new s et of devlopers

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

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 26: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Open Social Gadgets

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 27: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Additional Areas X WT

Based upon XAML concepts Provides Visual Designers

TM Modeled UI exploration

Lang ua g e s upport Write bundles e.g. in JavaScript

e4 – The platform of the future© 2009 by Tom Schindl, Innsbruck, Austria. Made available under the EPL v1.0

Page 28: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

e4 – Online Resources e4 w ik i

http://w ik i.ec lips e.org /E 4

E 4 w hitepaperhttp://w w w.ec lips e.org /e4/res ourc es /e4-w hitepa per.php

Pers ona l B loghttp://toms ondev.bes ts olution.at/

Page 29: e4 – The platform of the · e4 – The model a short history EclipseCon 08 First Prototype May 20th 2008: Mail to e4-dev „A radical approach to explore new paths for e4“ Platform

THE END