«Xpand»


                                     @peterfriese
                                      (@itemis)
(c) 2010 Peter...
So much code, so little time
So much code, so little time
So much code, so little time
Strategies
Strategies




 Scaffolding
Strategies




Scaffolding
Strategies




Scaffolding

               Intentions
Strategies




Scaffolding    Intentions
Strategies




Scaffolding    Intentions


               Quickfixes
Strategies




Scaffolding    Intentions   Quickfixes
Problem




Scaffolding   Intentions   Quickfixes
Problem



              only once !

Scaffolding     Intentions   Quickfixes
Template


       Engine
Template


       Engine
«Xpand»
Protected regions
   Debugger      Editor
                                   Outlets

                                    ...
How to Write a Code Generator?
How to Write a Code Generator?
How to Write a Code Generator?

      1: Create a new Xpand project
How to Write a Code Generator?

      1: Create a new Xpand project



      2: Define a metamodel
How to Write a Code Generator?

      1: Create a new Xpand project



      2: Define a metamodel



      3: Write templa...
Define a metamodel
Define a metamodel




      Ecore
Define a metamodel




Ecore
Define a metamodel




Ecore



              Xtext
Define a metamodel




Ecore      Xtext
Define a metamodel




Ecore      Xtext



                   XSD
Define a metamodel




Ecore      Xtext   XSD
Define a metamodel




Ecore      Xtext          XSD



                   Java
Define a metamodel




Ecore     Xtext    XSD      Java
More Info?
More Detailed Demo?

  Track Me Down:
    @peterfriese
 http://peterfriese.de

      Consulting:
http://www.ite...
Xpand @EclipseCon 2010
Xpand @EclipseCon 2010
Xpand @EclipseCon 2010
Xpand @EclipseCon 2010
Xpand @EclipseCon 2010
Upcoming SlideShare
Loading in …5
×

Xpand @EclipseCon 2010

2,372 views
2,272 views

Published on

This talk briefly introduces Xpand, the template engine of openArchitectureWare resp. the Eclipse Modeling Project. For more info, see http://www.peterfriese.de/getting-started-with-code-generation-with-xpand/

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,372
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
79
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
























































  • Xpand @EclipseCon 2010

    1. 1. «Xpand» @peterfriese (@itemis) (c) 2010 Peter Friese. Distributed under the EDL V1.0 - http://www.eclipse.org/org/documents/edl-v10.php More info: http://www.peterfriese.de / http://www.itemis.com
    2. 2. So much code, so little time
    3. 3. So much code, so little time
    4. 4. So much code, so little time
    5. 5. Strategies
    6. 6. Strategies Scaffolding
    7. 7. Strategies Scaffolding
    8. 8. Strategies Scaffolding Intentions
    9. 9. Strategies Scaffolding Intentions
    10. 10. Strategies Scaffolding Intentions Quickfixes
    11. 11. Strategies Scaffolding Intentions Quickfixes
    12. 12. Problem Scaffolding Intentions Quickfixes
    13. 13. Problem only once ! Scaffolding Intentions Quickfixes
    14. 14. Template Engine
    15. 15. Template Engine
    16. 16. «Xpand»
    17. 17. Protected regions Debugger Editor Outlets Profiler Cartridges Polymorphism Type safe Produces any Can run standalone kind of text Eclipse-based (ANT / Maven)
    18. 18. How to Write a Code Generator?
    19. 19. How to Write a Code Generator?
    20. 20. How to Write a Code Generator? 1: Create a new Xpand project
    21. 21. How to Write a Code Generator? 1: Create a new Xpand project 2: Define a metamodel
    22. 22. How to Write a Code Generator? 1: Create a new Xpand project 2: Define a metamodel 3: Write templates
    23. 23. Define a metamodel
    24. 24. Define a metamodel Ecore
    25. 25. Define a metamodel Ecore
    26. 26. Define a metamodel Ecore Xtext
    27. 27. Define a metamodel Ecore Xtext
    28. 28. Define a metamodel Ecore Xtext XSD
    29. 29. Define a metamodel Ecore Xtext XSD
    30. 30. Define a metamodel Ecore Xtext XSD Java
    31. 31. Define a metamodel Ecore Xtext XSD Java
    32. 32. More Info? More Detailed Demo? Track Me Down: @peterfriese http://peterfriese.de Consulting: http://www.itemis.com

    ×