SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Experiences from porting a
commercial RCP application to
         Eclipse 4.x
Anders Forsell, Fredrik Attebrant – FindOut Technologies
                         2012-03-25 11:02
• Products
               • Paipe
               • PrioVis


    • Services
               • Eclipse RCP




(c) FindOut Technologies AB 2012
PrioVis – A Visual Project Planning Tool




(c) FindOut Technologies AB 2012
Eclipse RCP history




                                                                                                ”RCP 2.0”
                                                                     ”tech. preview”
                                   First ideas to use Eclipse as
                                   general 1.0”
                                    ”RCP applicationplatform       e4     0.9      4.0   4.1       4.2

 1.0                        2.1            3.0                     3.4            3.6    3.7       3.8

2001                     2003             2004   2005              2008   2009   2010    2011    2012

                                                        OSGi services




       (c) FindOut Technologies AB 2012
RCP 4.x Architecture


                                              RCP Legacy parts
                 RCP
                                                • GEF editor        org.eclipse.ui.workbench
                 Pure                                                 implemented on 4.x
                                                • EMF editor
                  4.x
                 parts
                                   Compatibility Layer, provides 3.x APIs

                Application Model, CSS Styling, DI, Application Services
       Eclipse 4.x
       Application Platform
                                    Equinox         EMF Core     SWT, JFace


                                     Java Virtual Machine




(c) FindOut Technologies AB 2012
Migration paths

                                       Compatibility layer 4.x RCP
       Recompile

                                                                       EMF Editor             GEF
                                             • 3rd party “blockers”:
                                                                           org.eclipse.ui.workbench


3.x RCP



                  Migrate
                  3.x API                    Pure 4.x RCP
                   to 4.x


                                           • Application Model
                                           • Dependency Injection


    (c) FindOut Technologies AB 2012
Migration story                                         4.x Application Services:


org.eclipse.ui.workbench                                              ESelectionService

                                                 Rewrite code

 IViewPart                    IEditorPart
                                                                          ECommandService



                   …
                                                                   EPartService             …




 Same stuff:                               SWT       JFace         OSGi           …



        (c) FindOut Technologies AB 2012
Mixed mode

                                       Compatibility layer 4.x RCP
       Recompile

                                             • Add Application.e4xmi
                                             • Migrate menus, toolbars
                                             • Add Pure Parts             Not officially
3.x RCP                                      • Add Dependency Injection   supported in
                                                                              4.2


                  Migrate
                  3.x API                    Pure 4.x RCP
                   to 4.x




    (c) FindOut Technologies AB 2012
Mixed mode



                                                           Status


                                        GEF editor

                 Project
                 Explorer                                Releases




                                   Properties        Backlog




(c) FindOut Technologies AB 2012
DEMO
(c) FindOut Technologies AB 2012
Summary


Pros:
• Modernized architecture, True RCP
• Testability, Styling
Cons:
• Lack of support for mixed mode
• Many key components still rely on 3.x
• Bug 351363 “Migration of standard views”



(c) FindOut Technologies AB 2012
References
• Vogella tutorials
    http://www.vogella.de/eclipse.html     - Eclipse 4 Development
• Tom Schindl’s forward compatibility layer
          http://tomsondev.bestsolution.at/2010/06/08/e4-a-forward-compat-layer


•http://wiki.eclipse.org/Eclipse4/RCP
• e4-forum
• e4-dev mailing list
• bugs
• slideshare for our slides

(c) FindOut Technologies AB 2012
Other talks at EclipseCon 2012

    Eclipse 4 API: The Path of LeastResistance talk:
               • Today at 14:15-15:00 (next talk) in Grand Ballroom BC


    Eclipse 4's Modeled UI: Providing you with the Tools to Chart your
      own Graph
               • Today at 16:15 - 17:00 in RegencyBallroom B


    Eclipse 4 Meets CDO: Now You See It, and So Do They!
               • Tomorrow at 11:45 - 12:20 in Grand Ballroom BC


    Eclipse 4.2: Tips on API best practices for a 3.x plugin running on
      both platforms
               • Tomorrow at 13:30 - 14:15 in Grand Ballroom BC


(c) FindOut Technologies AB 2012
Q&A



Questions - contact us:
          fredrik.attebrant<at>find-out.se
               - Twitter: @ffxxoo
          anders.forsell<at>find-out.se
               - Twitter: @aforsell



… or let’s meet in the bar…
… or the Eclipse4 BOF at 8:30 pm


(c) FindOut Technologies AB 2012
Time’s up…




                     Thank you!

(c) FindOut Technologies AB 2012
License and acknowledgements


• This presentation is licensed under the Creative
Commons Attribution-NonCommercial-NoDerivs 3.0
Unported (CC BY-NC-ND 3.0)
http://creativecommons.org/licenses/by-nc-nd/3.0/




(c) FindOut Technologies AB 2012

Weitere ähnliche Inhalte

Was ist angesagt?

Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllThomas Wuerthinger
 
IVI-COM Action
IVI-COM ActionIVI-COM Action
IVI-COM ActionInterlatin
 
Single Sourcing RCP and RAP
Single Sourcing RCP and RAPSingle Sourcing RCP and RAP
Single Sourcing RCP and RAPChris Aniszczyk
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์wichaikraisorn
 
llvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Pythonllvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Pythonmdevan
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
Introduction to llvm
Introduction to llvmIntroduction to llvm
Introduction to llvmTao He
 

Was ist angesagt? (13)

Lesson 9.1 value returning
Lesson 9.1 value returningLesson 9.1 value returning
Lesson 9.1 value returning
 
Graal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them AllGraal and Truffle: One VM to Rule Them All
Graal and Truffle: One VM to Rule Them All
 
Spectra CX 3.4 Launch Webcast
Spectra CX 3.4 Launch WebcastSpectra CX 3.4 Launch Webcast
Spectra CX 3.4 Launch Webcast
 
Rcpp
RcppRcpp
Rcpp
 
Lesson 13 object and class
Lesson 13 object and classLesson 13 object and class
Lesson 13 object and class
 
IVI-COM Action
IVI-COM ActionIVI-COM Action
IVI-COM Action
 
Single Sourcing RCP and RAP
Single Sourcing RCP and RAPSingle Sourcing RCP and RAP
Single Sourcing RCP and RAP
 
Oops index
Oops indexOops index
Oops index
 
JVM++: The Graal VM
JVM++: The Graal VMJVM++: The Graal VM
JVM++: The Graal VM
 
ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์
 
llvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Pythonllvm-py: Writing Compilers In Python
llvm-py: Writing Compilers In Python
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
Introduction to llvm
Introduction to llvmIntroduction to llvm
Introduction to llvm
 

Ähnlich wie Experiences from porting a commercial RCP application to Eclipse 4.x

Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformTonny Madsen
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformTonny Madsen
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugLars Vogel
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMmfrancis
 
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre..."APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...Edge AI and Vision Alliance
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009Stefane Fermigier
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform WorkspaceTomasz Zarna
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupDavid Bosschaert
 
Cool stuff in E4 for developers
Cool stuff in E4 for developersCool stuff in E4 for developers
Cool stuff in E4 for developersMickael Istria
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsLars Vogel
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Gunnar Wagenknecht
 
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
 
Developing Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse GyrexDeveloping Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse GyrexGunnar Wagenknecht
 
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMUsing OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMmfrancis
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !Cédric Brun
 

Ähnlich wie Experiences from porting a commercial RCP application to Eclipse 4.x (20)

Eclipse RCP 4
Eclipse RCP 4Eclipse RCP 4
Eclipse RCP 4
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platform
 
Eclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ RheinjugEclipse RCP Overview @ Rheinjug
Eclipse RCP Overview @ Rheinjug
 
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBMIntroducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
Introducing the Embedded Rich Client Platform (eRCP) - Jim Robbins, IBM
 
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre..."APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
"APIs for Accelerating Vision and Inferencing: Options and Trade-offs," a Pre...
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
ABC of Platform Workspace
ABC of Platform WorkspaceABC of Platform Workspace
ABC of Platform Workspace
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Update on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert GroupUpdate on the OSGi Enterprise Expert Group
Update on the OSGi Enterprise Expert Group
 
Cool stuff in E4 for developers
Cool stuff in E4 for developersCool stuff in E4 for developers
Cool stuff in E4 for developers
 
Eclipse 2011 Hot Topics
Eclipse 2011 Hot TopicsEclipse 2011 Hot Topics
Eclipse 2011 Hot Topics
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010
 
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
 
Developing Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse GyrexDeveloping Runtime Applications with Eclipse Gyrex
Developing Runtime Applications with Eclipse Gyrex
 
Eclipse
EclipseEclipse
Eclipse
 
Deep Dive into Entity Framework 6.0
Deep Dive into Entity Framework 6.0Deep Dive into Entity Framework 6.0
Deep Dive into Entity Framework 6.0
 
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMUsing OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Eclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three RuntimesEclipse - Single Source;Three Runtimes
Eclipse - Single Source;Three Runtimes
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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 MenDelhi Call girls
 
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 organizationRadu Cotescu
 
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)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
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
 
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
 

Experiences from porting a commercial RCP application to Eclipse 4.x

  • 1. Experiences from porting a commercial RCP application to Eclipse 4.x Anders Forsell, Fredrik Attebrant – FindOut Technologies 2012-03-25 11:02
  • 2. • Products • Paipe • PrioVis • Services • Eclipse RCP (c) FindOut Technologies AB 2012
  • 3. PrioVis – A Visual Project Planning Tool (c) FindOut Technologies AB 2012
  • 4. Eclipse RCP history ”RCP 2.0” ”tech. preview” First ideas to use Eclipse as general 1.0” ”RCP applicationplatform e4 0.9 4.0 4.1 4.2 1.0 2.1 3.0 3.4 3.6 3.7 3.8 2001 2003 2004 2005 2008 2009 2010 2011 2012 OSGi services (c) FindOut Technologies AB 2012
  • 5. RCP 4.x Architecture RCP Legacy parts RCP • GEF editor org.eclipse.ui.workbench Pure implemented on 4.x • EMF editor 4.x parts Compatibility Layer, provides 3.x APIs Application Model, CSS Styling, DI, Application Services Eclipse 4.x Application Platform Equinox EMF Core SWT, JFace Java Virtual Machine (c) FindOut Technologies AB 2012
  • 6. Migration paths Compatibility layer 4.x RCP Recompile EMF Editor GEF • 3rd party “blockers”: org.eclipse.ui.workbench 3.x RCP Migrate 3.x API Pure 4.x RCP to 4.x • Application Model • Dependency Injection (c) FindOut Technologies AB 2012
  • 7. Migration story 4.x Application Services: org.eclipse.ui.workbench ESelectionService Rewrite code IViewPart IEditorPart ECommandService … EPartService … Same stuff: SWT JFace OSGi … (c) FindOut Technologies AB 2012
  • 8. Mixed mode Compatibility layer 4.x RCP Recompile • Add Application.e4xmi • Migrate menus, toolbars • Add Pure Parts Not officially 3.x RCP • Add Dependency Injection supported in 4.2 Migrate 3.x API Pure 4.x RCP to 4.x (c) FindOut Technologies AB 2012
  • 9. Mixed mode Status GEF editor Project Explorer Releases Properties Backlog (c) FindOut Technologies AB 2012
  • 11. Summary Pros: • Modernized architecture, True RCP • Testability, Styling Cons: • Lack of support for mixed mode • Many key components still rely on 3.x • Bug 351363 “Migration of standard views” (c) FindOut Technologies AB 2012
  • 12. References • Vogella tutorials http://www.vogella.de/eclipse.html - Eclipse 4 Development • Tom Schindl’s forward compatibility layer http://tomsondev.bestsolution.at/2010/06/08/e4-a-forward-compat-layer •http://wiki.eclipse.org/Eclipse4/RCP • e4-forum • e4-dev mailing list • bugs • slideshare for our slides (c) FindOut Technologies AB 2012
  • 13. Other talks at EclipseCon 2012 Eclipse 4 API: The Path of LeastResistance talk: • Today at 14:15-15:00 (next talk) in Grand Ballroom BC Eclipse 4's Modeled UI: Providing you with the Tools to Chart your own Graph • Today at 16:15 - 17:00 in RegencyBallroom B Eclipse 4 Meets CDO: Now You See It, and So Do They! • Tomorrow at 11:45 - 12:20 in Grand Ballroom BC Eclipse 4.2: Tips on API best practices for a 3.x plugin running on both platforms • Tomorrow at 13:30 - 14:15 in Grand Ballroom BC (c) FindOut Technologies AB 2012
  • 14. Q&A Questions - contact us: fredrik.attebrant<at>find-out.se - Twitter: @ffxxoo anders.forsell<at>find-out.se - Twitter: @aforsell … or let’s meet in the bar… … or the Eclipse4 BOF at 8:30 pm (c) FindOut Technologies AB 2012
  • 15. Time’s up… Thank you! (c) FindOut Technologies AB 2012
  • 16. License and acknowledgements • This presentation is licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0) http://creativecommons.org/licenses/by-nc-nd/3.0/ (c) FindOut Technologies AB 2012