Eclipse 4.0 - Dynamic Models

2,539 views

Published on

About the Eclipse e4 application model.

Published in: Technology, Sports
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,539
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Eclipse 4.0 - Dynamic Models

  1. 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. 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. 3. Agenda: Summary of Eclipse e4 The static model Dynamics during application start Dynamics during application runtime The Wii
  4. 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.
  5. 5. e4 application
  6. 6. Initial Model is static: Application.e4xmi Like plugin.xml and its extension points
  7. 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
  8. 8. Fragments are xmi snippets which define static extensions Again soooo... similar to extension points
  9. 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. 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. 11. So why did they do that?
  12. 12. Model available at runtime
  13. 13. Processors Code which can change the model at startup
  14. 14. Big deal, „at startup“ you are dynamic.... Impressive...Not!
  15. 15. with e4 you can change the model at any point in time
  16. 16. Summary The flexibility of the e4 application model allows complete new approaches to application design
  17. 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. 18. Thank you For further questions: Lars.Vogel@gmail.com http://www.vogella.de http://www.twitter.com/vogella
  19. 19. 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
  20. 20. 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

×