Groovy for Domain-specific Languages - Second Edition

(nextflipdebug2) #1
[ 309 ]

Integrating It All


In this final chapter, we will build a fully functioning DSL and integrate it into a
web application. In doing so, we will cover the issues you will encounter when
integrating your own DSLs into existing applications. The DSL we will look at is a
proof of concept DSL that implements a simple state machine style game engine with
server-side engine logic, which supports a HTML user interface.



  • The DSL was written to support teaching Groovy, so we will start by
    looking at how we can use DSL techniques to help with teaching
    programming to kids

  • We will see how those ideas evolved into the proof of concept game engine
    DSL we will build in this chapter

  • We will look at how we can structure the game engine as a pattern of Groovy
    classes and then see how we can implement an AST transform to generate
    that pattern

  • We will see how we can integrate the DSL into a spring boot game server
    with a MongoDB session store

  • Finally, we will build a simple mobile UI for the game with HTML5 and
    jQuery Mobile


Groovy as a teaching language


I've had the wonderful opportunity in the last year to be involved with the
CoderDojo Foundation via my local CoderDojo. CoderDojo is a global movement
of free volunteer-led, community-based programming clubs for young people at
https://coderdojo.com. I joined Wexford CoderDojo as a mentor in January 2015.

Free download pdf