Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java Virtual Machine (JVM) bytecode, and interoperates with other Java code and libraries. Groovy uses a Java-like curly-bracket syntax. Most Java code is also syntactically valid Groovy, although semantics may be different.
If you find Groovy more interesting and want to dive into the groovy ocean then you are at right place, we have compiled a list of Best Groovy Frameworks and Applications that will help you to build useful and creative applications with less endeavors. Please do let us know what do you think about Groovy by posting a comment below. Let’s explore the list!
1. Grails
Grails is a powerful web framework, for the Java platform aimed at multiplying developers’ productivity thanks to a Convention-over-Configuration, sensible defaults and opinionated APIs. It integrates smoothly with the JVM, allowing you to be immediately productive whilst providing powerful features, including integrated ORM, Domain-Specific Languages, runtime and compile-time meta-programming and Asynchronous programming.
2. Glide
Glide makes it incredibly easy to develop apps that harness the power of Google App Engine for Java using expressiveness of Groovy and sweetness of Gaelyk’s syntactic sugar. Glide can be installed in various ways. At it’s heart it is a simple Java based command line application. To make glide command available, the path to bin directory of glide installation should be in your PATH environment variable. To cut the long story short, with glide you can create awesome apps on Google App Engine in a snap.
3. Gaelyk
Groovy developers use Gaelyk to create lightweight web applications that you can host on the Google’s Java App Engine. Gaelyk takes the existing features of the language and provides a more concise approach towards fast and efficient development. You can browse the homepage of the Gaelyk web framework for Groovy and explore the apps that people have created already to get a better idea of the capabilities of this particular Groovy framework.
4. Ratpack.io
Ratpack is a simple, capable, toolkit for creating high performance web applications. Ratpack is built on Java and the Netty event-driven networking engine. The API is optimized for Groovy and Java 8. Optional Google Guice integration provides a foundation for scaling your application in size in a managed way. Optional Gradle build time support makes building and testing applications a breeze. Ratpack is for those who are looking to build lean HTTP apps without having to think twice about external additions like libraries and plugins, Ratpack framework is fairly flexible within its native state.
5. Spring Boot
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”. We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration. Spring Boot ships with a command line tool that can be used if you want to quickly prototype with Spring. It allows you to run Groovy scripts, which means that you have a familiar Java-like syntax, without so much boilerplate code.
6. gServ
gServ is a tool for creating and deploying REST based services using Groovy without the hassle of a container (JBoss, Tomcat, etc.) . Using gServ, you can easily define REST resources as Groovy scripts or embed gServ in your application. gServ is perfect for creating lightweight micro services. Use gServ to define your REST resource parameters using Groovy configuration scripts, or you can directly embed gServ within your applications themselves. It’s a great little framework for anyone who wants to create their own micro-services.
7. Spoke
Spock is a testing and specification framework for Java and Groovy applications. What makes it stand out from the crowd is its beautiful and highly expressive specification language. Thanks to its JUnit runner, Spock is compatible with most IDEs, build tools, and continuous integration servers. Spock is inspired from JUnit, RSpec, jMock, Mockito, Groovy, Scala, Vulcans, and other fascinating life forms.
8. Gretty
Gretty is a simple web framework for both building web servers and clients. Built on top of netty, it supports NIO style http server, asynchronous http client. It also supports both websocket server and client. It’s designed to be light weight and run as a standalone embedded solution.
It’s written in Groovy++. But you can use it with pure Groovy, Scala or even Java. Use Gretty Google Group for questions and general discussions about Gretty.
Rich Applications for Groovy
Here are two of the cool applications which help Groovy developers to create innovative and useful web applications.
1. Griffon
Griffon is desktop application development platform for the JVM.Inspired by Grails, Griffon leverages the use of theGroovy language and concepts like Convention over Configuration. The Swing toolkit is the default UI toolkit of choice however others may be used, for example JavaFX. Griffon encourages the use of the MVC pattern. Griffon also follows in the spirit of the Swing Application Framework (JSR 296), it defines a simple yet powerful application life cycle and event publishing mechanism.
2. GroovyFx
GroovyFX is an API that makes working with JavaFX in Groovy much simpler and more natural. GroovyFX is focused on exploiting the power of the Groovy Builder pattern to make JavaFX development easier and more concise than what is possible in Java. GroovyFX also leverages Groovy’s powerful DSL features and AST transformations to eliminate boilerplate, making GroovyFX code easier to write and, just as importantly, easier to read. GroovyFX provides the SceneGraphBuilder object, which supports all of the JavaFX controls, shapes, gradients, effects, and animation; as well as other elements of the JavaFX API such as enumerations and colors. Additionally, Groovy closures can be used as event handlers, leading to clean and concise code.