© Adam L. Davis 2016

Adam L. Davis, Learning Groovy, 10.1007/978-1-4842-2117-4_11

11. Groovy Awesomeness

Adam L. Davis

(1)New York, USA

This short chapter introduces various useful frameworks within the Groovy ecosystem. Some of these will be described more fully in later chapters.

Web and UI Frameworks

The following are web and user-interface frameworks that are built on top of Groovy, or where Groovy is supported.

Grails 1

Web-framework inspired by Ruby-on-Rails; has at least 800 plugins.

Griffon 2

Swing UI command-line very similar to Grails: create-app cool -archetype=jumpstart

vert.x 3

A framework for asynchronous application development. Not strictly a Groovy project, but you can use it. It's currently an Eclipse Foundation project4.

Ratpack 5

A toolkit for web applications on the JVM and RESTful web services (microservices).

Cloud Computing Frameworks

Cloud computing has become a mainstream necessity in today’s programming world. Here are two useful Groovy frameworks for two popular cloud platforms.

Gaelyk 6

An abstraction over GAE (Google App Engine); it has an emerging plugin system.

Caelyf 7

Born in 2011, Apache 2 licensed framework for CloudFoundry; it’s similar to gaelyk.

Build Frameworks

No project is complete without a build framework. Gradle has become more and more popular in the last few years for building Java projects especially. It is also now the default build framework for Google Android projects.

Gradle 8

A Groovy DSL for building projects. Uses build.gradle.

Gant 9

Like Ant in Groovy. Born in 2006; now in maintenance mode. Was used by Grails and Griffon.

Testing Frameworks/Code Analysis

Testing is extremely important for any project and code analysis is sometimes useful for large projects. We will cover one of these frameworks, called Spock, in a later chapter.

Easyb 10

BDD—behavior driven development, human readable.

Spock 11

DSL testing framework. Around since 2007. Uses strings as method names. You can use data tables for test input. @Unroll(String) works like JUnit theories “unrolled”.

Codenarc 12

Static code analysis for Groovy and has been around since 2009. It has plugins for Grails and Griffon.

GContracts 13

Enforces contracts in your code. @Requires, @Ensures

Concurrency

As described earlier, concurrency is extremely important for efficient applications.

GPars 14

A multi-threading framework for Groovy. It has a fork/join abstraction, Actors, STM, and more (it comes bundled with Groovy).

RxGroovy 15

This is a Groovy adapter to RxJava; it’s a library for composing asynchronous and event-based programs using observable sequences for the JVM.

Others

These are other tools created by the community for managing your installed programming frameworks and tools and for creating new projects.

gvm 16

The Groovy enVironment Manager (GVM). It’s now called SDKMAN (The Software Development Kit Manager) and is very cool. It allows you to manage multiple versions of several Groovy and non-Groovy applications, including Groovy itself.

lazybones 17

A simple project-creation tool that uses packaged project templates. This can be installed using gvm/sdkman.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.128.204.5