SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Controlling your e4
application model ...
with a Wii remote control
(or how to use the
dynamic e4 model)
Lars Vogel
http://www.vogella.de
Twitter: @vogella
About Lars
Works for SAP as product owern of a
SCRUM team.
Privately active in the Open Source
Community
Eclipse committer, received the Eclipse
Top Contributor community award 2010
Webmaster of http://www.vogella.de with
more then 15 000 visitors per day
Lars Vogel
http://www.vogella.de
Twitter: @vogella
Agenda:
Summary of Eclipse e4
The static model
Dynamics during application start
Dynamics during application runtime
The Wii
Eclipse e4 summary
e4 defines a new programming
model for Eclpise plugins and RCP
application
The application is defined by an
EMF model
This model will be translated into
components via the e4 runtime, the
renderer and the associated classes
in the model.
e4 application
Initial Model is
static:
Application.e4xmi
Like plugin.xml and
its extension points
<?xml version="1.0" encoding="ASCII"?>
<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application"
xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic"
xmi:id="_4IOwcORpEd-fMJRHKmiOqA"
elementId="de.vogella.e4.model.sockets.application">
<children xsi:type="basic:TrimmedWindow" xmi:id="_I5-Z4ORrEd-fMJRHKmiOqA"
width="640" height="480">
<children xsi:type="basic:PartSashContainer" xmi:id="_TA_rAObNEd-WXfZJTihRKQ"
elementId="sashcontainer" horizontal="true">
<children xsi:type="basic:PartStack" xmi:id="_hA7ccOeEEd-4ONqqaPGGOw">
<children xsi:type="basic:Part" xmi:id="_7CuAEORzEd-fMJRHKmiOqA"
elementId="beautifuleyesview"
contributionURI="platform:/plugin/de.vogella.e4.model.sockets/de.vogella.e4.model.sock
ets.parts.MyView" label="MyView"/>
</children>
</children>
</children>
</application:Application>
New: Application.e4xmi + plugin.xml
Fragments
are xmi
snippets
which define
static
extensions
Again soooo...
similar to extension
points
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
id="application"
point="org.eclipse.core.runtime.applications">
<application>
<run
class="de.vogella.databinding.person.swt.Application">
</run>
</application>
</extension>
<extension
point="org.eclipse.ui.views">
<view
class="de.vogella.databinding.person.swt.View"
id="de.vogella.databinding.person.swt.View"
name="name"
restorable="true">
</view>
</extension>
</plugin>
Old: plugin.xml
<?xml version="1.0" encoding="ASCII"?>
<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application"
xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic"
xmi:id="_4IOwcORpEd-fMJRHKmiOqA"
elementId="de.vogella.e4.model.sockets.application">
<children xsi:type="basic:TrimmedWindow" xmi:id="_I5-Z4ORrEd-fMJRHKmiOqA"
width="640" height="480">
<children xsi:type="basic:PartSashContainer" xmi:id="_TA_rAObNEd-WXfZJTihRKQ"
elementId="sashcontainer" horizontal="true">
<children xsi:type="basic:PartStack" xmi:id="_hA7ccOeEEd-4ONqqaPGGOw">
<children xsi:type="basic:Part" xmi:id="_7CuAEORzEd-fMJRHKmiOqA"
elementId="beautifuleyesview"
contributionURI="platform:/plugin/de.vogella.e4.model.sockets/de.vogella.e4.model.sock
ets.parts.MyView" label="MyView"/>
</children>
</children>
</children>
</application:Application>
New: Application.e4xmi + plugin.xml
So why did they do that?
Model available at runtime
Processors
Code which can change the
model at startup
Big deal, „at
startup“ you are
dynamic....
Impressive...Not!
with e4 you can
change the model
at any point in time
Summary
The flexibility of the e4
application model
allows complete new
approaches to
application design
e4: Where to go from here:
Eclipse e4 Wiki
http://wiki.eclipse.org/E4
Eclipse 4.0 Application Tutorial – Lars Vogel
http://www.vogella.de/articles/EclipseE4/article.html
Eclipse 4.0 Application Tutorial – Tom Schindl
http://tomsondev.bestsolution.at/2010/07/28/eclipse-4-0-and-tutorial-on-writing-e4-
rcp-application-released/
Thank you
For further questions:
Lars.Vogel@gmail.com
http://www.vogella.de
http://www.twitter.com/vogella
Photo credits
• Coffee Beans http://www.sxc.hu/photo/1209649
• Dotted guy http://www.sxc.hu/photo/1103660
• Guy http://www.sxc.hu/photo/423354
• Little thing http://www.sxc.hu/photo/125901
• Depair http://www.sxc.hu/photo/592305
• Thinking man http://www.sxc.hu/photo/ 324541
• Cool but hurts http://www.sxc.hu/photo/
906072
• Guy standing on the right side
• Happy figure http://www.sxc.hu/photo/125901
• Lock http://www.sxc.hu/photo/ 352344
• Life Cycle http://www.sxc.hu/photo/1265027
• Hand with key http://www.sxc.hu/photo/
1019542
• Corn picture http://www.sxc.hu/photo/570500
• Elephant http://www.sxc.hu/photo/103473
• Sad Lady http://www.sxc.hu/photo/232738
• Thank you picture http://www.sxc.hu/photo/
986313
• Runtime model http://www.sxc.hu/photo/
765733
• Praying Girl http://www.sxc.hu/photo/646227
• Smiling Face 884146
• Stacked stones
http://www.sxc.hu/photo/998524
• Thinking Guy http://www.sxc.hu/photo/130484
• Drawing Hand http://www.sxc.hu/photo/264208
• Waiter http://www.sxc.hu/photo/157966
• Dancing Girt http://www.sxc.hu/photo/1187376
• Books http://www.sxc.hu/photo/1184809
License & Acknowledgements
• This work is licensed under the Creative Commons
Attribution-Noncommercial-No Derivative Works 3.0
Germany License
– See http://creativecommons.org/licenses/by-nc-
nd/3.0/de/deed.en_US

Weitere ähnliche Inhalte

Was ist angesagt?

Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Lars Vogel
 
Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602ppts123456
 
Eclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source projectEclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source projectLars Vogel
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Installsusanfmccourt
 
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API ToolingOSGi, Eclipse and API Tooling
OSGi, Eclipse and API ToolingChris Aniszczyk
 
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tychojsievers
 
Webinar on How to use MyAppConverter
Webinar on How to use  MyAppConverterWebinar on How to use  MyAppConverter
Webinar on How to use MyAppConverterJaoued Ahmed
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
Designing Future Aircraft with Eclipse RCP
Designing Future Aircraft with Eclipse RCPDesigning Future Aircraft with Eclipse RCP
Designing Future Aircraft with Eclipse RCPyocaba
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
Head first android apps dev tools
Head first android apps dev toolsHead first android apps dev tools
Head first android apps dev toolsShaka Huang
 
What's New in Visual Studio 2010
What's New in Visual Studio 2010What's New in Visual Studio 2010
What's New in Visual Studio 2010Adil Mughal
 
Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business CaseFITT
 
OSGi Sticker Shock Eclipse Con 2010
OSGi Sticker Shock   Eclipse Con 2010OSGi Sticker Shock   Eclipse Con 2010
OSGi Sticker Shock Eclipse Con 2010ericjohnson
 
Re-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCPRe-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCPgustavoeliano
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introductionirbull
 
Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5Ben Schmidtke III
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 

Was ist angesagt? (20)

Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010Eclipse 40 Labs- Eclipse Summit Europe 2010
Eclipse 40 Labs- Eclipse Summit Europe 2010
 
Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602Deployingmuleapplications 160903085602
Deployingmuleapplications 160903085602
 
Eclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source projectEclipse platform news and how to contribute to the Eclipse Open Source project
Eclipse platform news and how to contribute to the Eclipse Open Source project
 
Simplifying RCP Update and Install
Simplifying RCP Update and InstallSimplifying RCP Update and Install
Simplifying RCP Update and Install
 
OSGi, Eclipse and API Tooling
OSGi, Eclipse and API ToolingOSGi, Eclipse and API Tooling
OSGi, Eclipse and API Tooling
 
Building Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with TychoBuilding Eclipse Plugins and RCP applications with Tycho
Building Eclipse Plugins and RCP applications with Tycho
 
Webinar on How to use MyAppConverter
Webinar on How to use  MyAppConverterWebinar on How to use  MyAppConverter
Webinar on How to use MyAppConverter
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Designing Future Aircraft with Eclipse RCP
Designing Future Aircraft with Eclipse RCPDesigning Future Aircraft with Eclipse RCP
Designing Future Aircraft with Eclipse RCP
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
Head first android apps dev tools
Head first android apps dev toolsHead first android apps dev tools
Head first android apps dev tools
 
Eclipse Spykit Project
Eclipse Spykit ProjectEclipse Spykit Project
Eclipse Spykit Project
 
What's New in Visual Studio 2010
What's New in Visual Studio 2010What's New in Visual Studio 2010
What's New in Visual Studio 2010
 
Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business Case
 
OSGi Sticker Shock Eclipse Con 2010
OSGi Sticker Shock   Eclipse Con 2010OSGi Sticker Shock   Eclipse Con 2010
OSGi Sticker Shock Eclipse Con 2010
 
JF_4_1_sg.pdf
JF_4_1_sg.pdfJF_4_1_sg.pdf
JF_4_1_sg.pdf
 
Re-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCPRe-structuring of a swing-based application into an Eclipse RCP
Re-structuring of a swing-based application into an Eclipse RCP
 
P2 Introduction
P2 IntroductionP2 Introduction
P2 Introduction
 
Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 

Ähnlich wie Eclipse 4.0 - Dynamic Models

Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Lars Vogel
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview Lars Vogel
 
Eclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayEclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayLars Vogel
 
How to use the Eclipse E4 model editor for modular RCP applications
How to use the Eclipse E4 model editor for modular RCP applicationsHow to use the Eclipse E4 model editor for modular RCP applications
How to use the Eclipse E4 model editor for modular RCP applicationsPatrik Suzzi
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureTonny Madsen
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyglefur
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGMarakana Inc.
 
10 Steps to Cloud Happiness
10 Steps to Cloud Happiness10 Steps to Cloud Happiness
10 Steps to Cloud HappinessAll Things Open
 
Eclipse e4 Overview
Eclipse e4 OverviewEclipse e4 Overview
Eclipse e4 OverviewLars Vogel
 
Ellip Studio - Training session
Ellip Studio - Training sessionEllip Studio - Training session
Ellip Studio - Training sessionterradue
 
Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybookVinay H G
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerBill Scott
 
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…melbats
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugLars Vogel
 
App Dev in the Cloud: Not my circus, not my monkeys...
App Dev in the Cloud: Not my circus, not my monkeys...App Dev in the Cloud: Not my circus, not my monkeys...
App Dev in the Cloud: Not my circus, not my monkeys...Eric D. Schabell
 
App Dev in the Cloud: Not my circus, not my monkeys... - Eric D. Schabell - ...
App Dev in the Cloud: Not my circus, not my monkeys...  - Eric D. Schabell - ...App Dev in the Cloud: Not my circus, not my monkeys...  - Eric D. Schabell - ...
App Dev in the Cloud: Not my circus, not my monkeys... - Eric D. Schabell - ...Codemotion
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologiesPT.JUG
 

Ähnlich wie Eclipse 4.0 - Dynamic Models (20)

Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010Eclipse 40 - Eclipse Summit Europe 2010
Eclipse 40 - Eclipse Summit Europe 2010
 
Eclipse Overview
Eclipse Overview Eclipse Overview
Eclipse Overview
 
Eclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse DayEclipse e4 - Google Eclipse Day
Eclipse e4 - Google Eclipse Day
 
How to use the Eclipse E4 model editor for modular RCP applications
How to use the Eclipse E4 model editor for modular RCP applicationsHow to use the Eclipse E4 model editor for modular RCP applications
How to use the Eclipse E4 model editor for modular RCP applications
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxy
 
Learn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUGLearn about Eclipse e4 from Lars Vogel at SF-JUG
Learn about Eclipse e4 from Lars Vogel at SF-JUG
 
10 Steps to Cloud Happiness
10 Steps to Cloud Happiness10 Steps to Cloud Happiness
10 Steps to Cloud Happiness
 
Eclipse e4 Overview
Eclipse e4 OverviewEclipse e4 Overview
Eclipse e4 Overview
 
Ellip Studio - Training session
Ellip Studio - Training sessionEllip Studio - Training session
Ellip Studio - Training session
 
Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybook
 
Angular4 tutorial
Angular4 tutorialAngular4 tutorial
Angular4 tutorial
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…EclipseCon Fr 2018 - Modeling tools go up to the cloud…
EclipseCon Fr 2018 - Modeling tools go up to the cloud…
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
 
App Dev in the Cloud: Not my circus, not my monkeys...
App Dev in the Cloud: Not my circus, not my monkeys...App Dev in the Cloud: Not my circus, not my monkeys...
App Dev in the Cloud: Not my circus, not my monkeys...
 
App Dev in the Cloud: Not my circus, not my monkeys... - Eric D. Schabell - ...
App Dev in the Cloud: Not my circus, not my monkeys...  - Eric D. Schabell - ...App Dev in the Cloud: Not my circus, not my monkeys...  - Eric D. Schabell - ...
App Dev in the Cloud: Not my circus, not my monkeys... - Eric D. Schabell - ...
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologies
 

Mehr von Lars Vogel

Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Lars Vogel
 
Android design and Custom views
Android design and Custom views Android design and Custom views
Android design and Custom views Lars Vogel
 
Building beautiful User Interface in Android
Building beautiful User Interface in AndroidBuilding beautiful User Interface in Android
Building beautiful User Interface in AndroidLars Vogel
 
What is so cool about Android 4.0
What is so cool about Android 4.0What is so cool about Android 4.0
What is so cool about Android 4.0Lars Vogel
 
What is so cool about Android 4.0?
What is so cool about Android 4.0?What is so cool about Android 4.0?
What is so cool about Android 4.0?Lars Vogel
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart JfokusLars Vogel
 
Android C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen ConferenceAndroid C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen ConferenceLars Vogel
 
Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)Lars Vogel
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Lars Vogel
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Android Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineAndroid Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineLars Vogel
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for JavaLars Vogel
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easyLars Vogel
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Lars Vogel
 
Eclipse e4 on Java Forum Stuttgart 2010
Eclipse e4 on Java Forum Stuttgart 2010Eclipse e4 on Java Forum Stuttgart 2010
Eclipse e4 on Java Forum Stuttgart 2010Lars Vogel
 
Google App Engine for Java (GAE/J)
Google App Engine for Java (GAE/J) Google App Engine for Java (GAE/J)
Google App Engine for Java (GAE/J) Lars Vogel
 
Programming Android
Programming AndroidProgramming Android
Programming AndroidLars Vogel
 
Eclipse e4 Tutorial - EclipseCon 2010
Eclipse e4 Tutorial - EclipseCon 2010Eclipse e4 Tutorial - EclipseCon 2010
Eclipse e4 Tutorial - EclipseCon 2010Lars Vogel
 
Beautiful UIs With JFace Databinding
Beautiful UIs With JFace DatabindingBeautiful UIs With JFace Databinding
Beautiful UIs With JFace DatabindingLars Vogel
 
Eclipse E4 Open Social Gadgetsvrs3
Eclipse E4 Open Social Gadgetsvrs3Eclipse E4 Open Social Gadgetsvrs3
Eclipse E4 Open Social Gadgetsvrs3Lars Vogel
 

Mehr von Lars Vogel (20)

Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020
 
Android design and Custom views
Android design and Custom views Android design and Custom views
Android design and Custom views
 
Building beautiful User Interface in Android
Building beautiful User Interface in AndroidBuilding beautiful User Interface in Android
Building beautiful User Interface in Android
 
What is so cool about Android 4.0
What is so cool about Android 4.0What is so cool about Android 4.0
What is so cool about Android 4.0
 
What is so cool about Android 4.0?
What is so cool about Android 4.0?What is so cool about Android 4.0?
What is so cool about Android 4.0?
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart Jfokus
 
Android C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen ConferenceAndroid C2DM Presentation at O'Reilly AndroidOpen Conference
Android C2DM Presentation at O'Reilly AndroidOpen Conference
 
Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)Android Overview (Karlsruhe VKSI)
Android Overview (Karlsruhe VKSI)
 
Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11 Android Introduction on Java Forum Stuttgart 11
Android Introduction on Java Forum Stuttgart 11
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Android Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App EngineAndroid Cloud to Device Messaging with the Google App Engine
Android Cloud to Device Messaging with the Google App Engine
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
 
Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4 Eclipse 40 and Eclipse e4
Eclipse 40 and Eclipse e4
 
Eclipse e4 on Java Forum Stuttgart 2010
Eclipse e4 on Java Forum Stuttgart 2010Eclipse e4 on Java Forum Stuttgart 2010
Eclipse e4 on Java Forum Stuttgart 2010
 
Google App Engine for Java (GAE/J)
Google App Engine for Java (GAE/J) Google App Engine for Java (GAE/J)
Google App Engine for Java (GAE/J)
 
Programming Android
Programming AndroidProgramming Android
Programming Android
 
Eclipse e4 Tutorial - EclipseCon 2010
Eclipse e4 Tutorial - EclipseCon 2010Eclipse e4 Tutorial - EclipseCon 2010
Eclipse e4 Tutorial - EclipseCon 2010
 
Beautiful UIs With JFace Databinding
Beautiful UIs With JFace DatabindingBeautiful UIs With JFace Databinding
Beautiful UIs With JFace Databinding
 
Eclipse E4 Open Social Gadgetsvrs3
Eclipse E4 Open Social Gadgetsvrs3Eclipse E4 Open Social Gadgetsvrs3
Eclipse E4 Open Social Gadgetsvrs3
 

Kürzlich hochgeladen

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Kürzlich hochgeladen (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

Eclipse 4.0 - Dynamic Models

  • 1. Controlling your e4 application model ... with a Wii remote control (or how to use the dynamic e4 model) Lars Vogel http://www.vogella.de Twitter: @vogella
  • 2. About Lars Works for SAP as product owern of a SCRUM team. Privately active in the Open Source Community Eclipse committer, received the Eclipse Top Contributor community award 2010 Webmaster of http://www.vogella.de with more then 15 000 visitors per day Lars Vogel http://www.vogella.de Twitter: @vogella
  • 3. Agenda: Summary of Eclipse e4 The static model Dynamics during application start Dynamics during application runtime The Wii
  • 4. Eclipse e4 summary e4 defines a new programming model for Eclpise plugins and RCP application The application is defined by an EMF model This model will be translated into components via the e4 runtime, the renderer and the associated classes in the model.
  • 6. Initial Model is static: Application.e4xmi Like plugin.xml and its extension points
  • 7. <?xml version="1.0" encoding="ASCII"?> <application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_4IOwcORpEd-fMJRHKmiOqA" elementId="de.vogella.e4.model.sockets.application"> <children xsi:type="basic:TrimmedWindow" xmi:id="_I5-Z4ORrEd-fMJRHKmiOqA" width="640" height="480"> <children xsi:type="basic:PartSashContainer" xmi:id="_TA_rAObNEd-WXfZJTihRKQ" elementId="sashcontainer" horizontal="true"> <children xsi:type="basic:PartStack" xmi:id="_hA7ccOeEEd-4ONqqaPGGOw"> <children xsi:type="basic:Part" xmi:id="_7CuAEORzEd-fMJRHKmiOqA" elementId="beautifuleyesview" contributionURI="platform:/plugin/de.vogella.e4.model.sockets/de.vogella.e4.model.sock ets.parts.MyView" label="MyView"/> </children> </children> </children> </application:Application> New: Application.e4xmi + plugin.xml
  • 9. <?xml version="1.0" encoding="UTF-8"?> <?eclipse version="3.2"?> <plugin> <extension id="application" point="org.eclipse.core.runtime.applications"> <application> <run class="de.vogella.databinding.person.swt.Application"> </run> </application> </extension> <extension point="org.eclipse.ui.views"> <view class="de.vogella.databinding.person.swt.View" id="de.vogella.databinding.person.swt.View" name="name" restorable="true"> </view> </extension> </plugin> Old: plugin.xml
  • 10. <?xml version="1.0" encoding="ASCII"?> <application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmi:id="_4IOwcORpEd-fMJRHKmiOqA" elementId="de.vogella.e4.model.sockets.application"> <children xsi:type="basic:TrimmedWindow" xmi:id="_I5-Z4ORrEd-fMJRHKmiOqA" width="640" height="480"> <children xsi:type="basic:PartSashContainer" xmi:id="_TA_rAObNEd-WXfZJTihRKQ" elementId="sashcontainer" horizontal="true"> <children xsi:type="basic:PartStack" xmi:id="_hA7ccOeEEd-4ONqqaPGGOw"> <children xsi:type="basic:Part" xmi:id="_7CuAEORzEd-fMJRHKmiOqA" elementId="beautifuleyesview" contributionURI="platform:/plugin/de.vogella.e4.model.sockets/de.vogella.e4.model.sock ets.parts.MyView" label="MyView"/> </children> </children> </children> </application:Application> New: Application.e4xmi + plugin.xml
  • 11. So why did they do that?
  • 13. Processors Code which can change the model at startup
  • 14. Big deal, „at startup“ you are dynamic.... Impressive...Not!
  • 15. with e4 you can change the model at any point in time
  • 16. Summary The flexibility of the e4 application model allows complete new approaches to application design
  • 17. e4: Where to go from here: Eclipse e4 Wiki http://wiki.eclipse.org/E4 Eclipse 4.0 Application Tutorial – Lars Vogel http://www.vogella.de/articles/EclipseE4/article.html Eclipse 4.0 Application Tutorial – Tom Schindl http://tomsondev.bestsolution.at/2010/07/28/eclipse-4-0-and-tutorial-on-writing-e4- rcp-application-released/
  • 18.
  • 19. Thank you For further questions: Lars.Vogel@gmail.com http://www.vogella.de http://www.twitter.com/vogella
  • 20. Photo credits • Coffee Beans http://www.sxc.hu/photo/1209649 • Dotted guy http://www.sxc.hu/photo/1103660 • Guy http://www.sxc.hu/photo/423354 • Little thing http://www.sxc.hu/photo/125901 • Depair http://www.sxc.hu/photo/592305 • Thinking man http://www.sxc.hu/photo/ 324541 • Cool but hurts http://www.sxc.hu/photo/ 906072 • Guy standing on the right side • Happy figure http://www.sxc.hu/photo/125901 • Lock http://www.sxc.hu/photo/ 352344 • Life Cycle http://www.sxc.hu/photo/1265027 • Hand with key http://www.sxc.hu/photo/ 1019542 • Corn picture http://www.sxc.hu/photo/570500 • Elephant http://www.sxc.hu/photo/103473 • Sad Lady http://www.sxc.hu/photo/232738 • Thank you picture http://www.sxc.hu/photo/ 986313 • Runtime model http://www.sxc.hu/photo/ 765733 • Praying Girl http://www.sxc.hu/photo/646227 • Smiling Face 884146 • Stacked stones http://www.sxc.hu/photo/998524 • Thinking Guy http://www.sxc.hu/photo/130484 • Drawing Hand http://www.sxc.hu/photo/264208 • Waiter http://www.sxc.hu/photo/157966 • Dancing Girt http://www.sxc.hu/photo/1187376 • Books http://www.sxc.hu/photo/1184809
  • 21. License & Acknowledgements • This work is licensed under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany License – See http://creativecommons.org/licenses/by-nc- nd/3.0/de/deed.en_US