Groovy in Action, Second Edition is a thoroughly revised, comprehensive guide to Groovy programming. It introduces Java developers to the dynamic features that Groovy provides, and shows how to apply Groovy to a range of tasks including building new apps, integration with existing code, and more » DSL development. Covers Groovy 2.4.
About the Technology
In the last ten years, Groovy has become an integral part of a Java developer's toolbox. Its comfortable, common-sense design, seamless integration with Java, and rich ecosystem that includes the Grails web framework, the Gradle build system, and Spock testing platform have created a large Groovy community
About the Book
Groovy in Action, Second Edition is the undisputed definitive reference on the Groovy language. Written by core members of the Groovy language team, this book presents Groovy like no other can—from the inside out. With relevant examples, careful explanations of Groovy's key concepts and features, and insightful coverage of how to use Groovy in-production tasks, including building new applications, integration with existing code, and DSL development, this is the only book you'll need. Updated for Groovy 2.4.
Some experience with Java or another programming language is helpful. No Groovy experience is assumed.
* Comprehensive coverage of Groovy 2.4 including language features, libraries, and AST transformations
* Dynamic, static, and extensible typing
* Concurrency: actors, data parallelism, and dataflow
* Applying Groovy: Java integration, XML, SQL, testing, and domain-specific language support
* Hundreds of reusable examples
About the Authors
Authors Dierk König, Paul King, Guillaume Laforge, Hamlet D'Arcy, Cédric Champeau, Erik Pragt, and Jon Skeet are intimately involved in the creation and ongoing development of the Groovy language and its ecosystem.
Table of Contents
1. PART 1 THE GROOVY LANGUAGE
2. Your way to Groovy
3. Overture: Groovy basics
4. Simple Groovy datatypes
5. Collective Groovy datatypes
6. Working with closures
7. Groovy control structures
8. Object orientation, Groovy style
9. Dynamic programming with Groovy
10. Compile-time metaprogramming and AST transformations
11. Groovy as a static language
12. PART 2 AROUND THE GROOVY LIBRARY
13. Working with builders
14. Working with the GDK
15. Database programming with Groovy
16. Working with XML and JSON
17. Interacting with Web Services
18. Integrating Groovy
19. PART 3 APPLIED GROOVY
20. Unit testing with Groovy
21. Concurrent Groovy with GPars
22. Domain-specific languages
23. The Groovy ecosystem « less
Gradle in Action is a comprehensive guide to end-to-end project automation with Gradle. Starting with the basics, this practical, easy-to-read book discusses how to establish an effective build process for a full-fledged, real-world project. Along the way, it covers advanced topics like testing, continuous more » integration, and monitoring code quality. You'll also explore tasks like setting up your target environment and deploying your software.
The book assumes a basic background in Java, but no knowledge of Groovy. « less
Web frameworks are playing a major role in the creation of today's most compelling web applications, because they automate many of the tedious tasks, allowing developers to instead focus on providing users with creative and powerful features. Java developers have been particularly fortunate in this area, more » having been able to take advantage of Grails, an open source framework that supercharges productivity when building Java - driven web sites. Grails is based on Groovy, which is a very popular and growing dynamic scripting language for Java developers and was inspired by Python, Ruby, and Smalltalk. « less
Customizing Next-Generation Builds
If you're familiar with Gradle's basics elements - possibly through the author's previous O'Reilly book, Building and Testing with Gradle - this more advanced guide provides the recipes, techniques, and syntax to help you master this build automation tool. With clear, concise explanations and lots of more » ready-to-use code examples, you'll explore four discrete areas of Gradle functionality: file operations, custom Gradle plugins, build lifecycle hooks, and dependency management.
Learn how to use Gradle's rich set of APIs and Groovy-based Domain Specific Language to customize build software that actually conforms to your product. By using the techniques in this book, you'll be able to write domain-specific builds that support every other line of code your team creates. « less
Grails is a full-stack web development framework that enables you to build complete web applications in a fraction of the time and with less code than other frameworks. Grails uses the principle of convention over configuration and the dynamic Groovy programming language.
This revised and updated new more » edition shows you how to use Grails by iteratively building a unique, working application. By the time you're done, you'll have built and deployed a real, functioning website. Using this hands-on, pragmatic approach, you'll explore topics such as Ajax in Grails, custom tags, and plugins. You'll dig into Grails' powerful view technology, Groovy Server Pages, and see how you can easily leverage the help offered by scaffolding to create custom user interfaces faster than you would have thought possible. Along the way, you'll learn about domain classes, controllers, and GSP views. And you'll see how Grails enables you to use powerful frameworks such as Spring and Hibernate. « less
Over 90 recipes that provide solutions to everyday programming challenges using the powerful features of Groovy 2
Get up to speed with Groovy, a language for the Java Virtual Machine (JVM) that integrates features of both object-oriented and functional programming. This book will show you the powerful features of Groovy 2 applied to real-world scenarios and how the dynamic nature of the language makes it very simple more » to tackle problems that would otherwise require hours or days of research and implementation.
Groovy 2 Cookbook contains a vast number of recipes covering many facets of today's programming landscape. From language-specific topics such as closures and metaprogramming, to more advanced applications of Groovy flexibility such as DSL and testing techniques, this book gives you quick solutions to everyday problems. « less
You don't need the full force of Java when you're writing a build script, a simple system utility, or a lightweight web appâbut that's where Groovy shines brightest. This elegant JVM-based dynamic language extends and simplifies Java so you can concentrate on the task at hand instead of managing minute more » details and unnecessary complexity.
Making Java Groovy is a practical guide for developers who want to benefit from Groovy in their work with Java. It starts by introducing the key differences between Java and Groovy and how to use them to your advantage. Then, you'll focus on the situations you face every day, like consuming and creating RESTful web services, working with databases, and using the Spring framework. You'll also explore the great Groovy tools for build processes, testing, and deployment and learn how to write Groovy-based domain-specific languages that simplify Java development. « less
Best Practices for Experienced Grails Developers
Dig deeper into Grails architecture and discover how this application framework works its magic. Written by a core developer on the Grails team, this practical guide takes you behind the curtain to reveal the inner workings of its 2.0 feature set. You'll learn best practices for building and deploying more » Grails applications, including performance, security, scaling, tuning, debugging, and monitoring.
Understand how Grails integrates with Groovy, Spring, Hibernate, and other JVM technologies, and learn how to create and use plugins to augment your application's functionality. Once you know how Grails adds behavior by convention, you can solve problems more easily and develop applications more intuitively. « less
Dynamic Productivity for the Java Developer
You don't have to leave the rich Java Platform to take advantage of Groovy. Groovy preserves Java's semantics and extends the JDK, so programming in Groovy feels like the Java language has been augmented; it's like working with a lighter, more elegant Java. If you're an experienced Java developer who more » wants to learn how Groovy works, you'll find exactly what you need in this book.
You'll start with the fundamentals of programming in Groovy and how it works with Java, and then you'll explore advanced concepts such as unit testing with mock objects, using Builders, working with databases and XML, and creating DSLs. You'll master Groovy's powerful yet complex run-time and compile-time metaprogramming features. « less
Grails is a full stack framework which aims to greatly simplify the task of building serious web applications for the JVM. The concepts within Grails, like interceptors, tag libs, and Groovy Server Pages (GSP), make those in the Java community feel right at home.
Grails' foundation is on solid open more » source technologies such as Spring, Hibernate, and SiteMesh, which gives it even more potential in the Java space: Spring provides powerful inversion of control and MVC, Hibernate brings a stable, mature object relational mapping technology with the ability to integrate with legacy systems, and SiteMesh handles flexible layout control and page decoration. « less