Extend and enhance your Java applications with domain-specific scripting in Groovy
About This Book
- Build domain-specific mini languages in Groovy that integrate seamlessly with your Java apps with this hands-on guide
- Increase stakeholder participation in the development process with domain-specific scripting in Groovy
- Get up to speed with the newest features in Groovy using this second edition and integrate Groovy-based DSLs into your existing Java applications.
Who This Book Is For
This book is for Java software developers who have an interest in building domain scripting into their Java applications. No knowledge of Groovy is required, although it will be helpful. This book does not teach Groovy, but quickly introduces the basic ideas of Groovy. An experienced Java developer should have no problems with these and move quickly on to the more involved aspects of creating DSLs with Groovy. No experience of creating a DSL is required.
What You Will Learn
- Familiarize yourself with Groovy scripting and work with Groovy closures
- Use the meta-programming features in Groovy to build mini languages
- Employ Groovy mark-up and builders to simplify application development
- Familiarize yourself with Groovy mark-up and build your own Groovy builders
- Build effective DSLs with operator overloading, command chains, builders, and a host of other Groovy language features
- Integrate Groovy with your Java and JVM based applications
The times when developing on the JVM meant you were a Java programmer have long passed. The JVM is now firmly established as a polyglot development environment with many projects opting for alternative development languages to Java such as Groovy, Scala, Clojure, and JRuby. In this pantheon of development languages, Groovy stands out for its excellent DSL enabling features which allows it to be manipulated to produce mini languages that are tailored to a project's needs.
A comprehensive tutorial on designing and developing mini Groovy based Domain Specific Languages, this book will guide you through the development of several mini DSLs that will help you gain all the skills needed to develop your own Groovy based DSLs with confidence and ease.
Starting with the bare basics, this book will focus on how Groovy can be used to construct domain specific mini languages, and will go through the more complex meta-programming features of Groovy, including using the Abstract Syntax Tree (AST). Practical examples are used throughout this book to de-mystify these seemingly complex language features and to show how they can be used to create simple and elegant DSLs. Packed with examples, including several fully worked DSLs, this book will serve as a springboard for developing your own DSLs.
Style and approach
This book is a hands-on guide that will walk you through examples for building DSLs with Groovy rather than just talking about "metaprogramming with Groovy". The examples in this book have been designed to help you gain a good working knowledge of the techniques involved and apply these to producing your own Groovy based DSLs.