SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
jsievers
 
Designing Future Aircraft with Eclipse RCP
Designing Future Aircraft with Eclipse RCPDesigning Future Aircraft with Eclipse RCP
Designing Future Aircraft with Eclipse RCP
yocaba
 
Open Source Business Case
Open Source Business CaseOpen Source Business Case
Open Source Business Case
FITT
 

Mais procurados (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
 

Semelhante a Eclipse 4.0 - Dynamic Models

Tutorial storybook
Tutorial storybookTutorial storybook
Tutorial storybook
Vinay H G
 

Semelhante a 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
 

Mais de Lars Vogel

Android design and Custom views
Android design and Custom views Android design and Custom views
Android design and Custom views
Lars Vogel
 
Beautiful UIs With JFace Databinding
Beautiful UIs With JFace DatabindingBeautiful UIs With JFace Databinding
Beautiful UIs With JFace Databinding
Lars Vogel
 
Eclipse E4 Open Social Gadgetsvrs3
Eclipse E4 Open Social Gadgetsvrs3Eclipse E4 Open Social Gadgetsvrs3
Eclipse E4 Open Social Gadgetsvrs3
Lars Vogel
 

Mais de 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
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

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...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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