Groovy and Grails application development

As a product owner, you are well aware that the sooner you get a feature live on your platform, the faster it will generate money for you.  For example, shortening the lead time of your application development from three months to one month would mean two extra months of sales and revenue. The competition is so fierce that the product companies are rushing minimum viable product (MVP) out in the market to monetize and to test product viability. Early and continuous delivery would mean early revenue and lesser market risk.

Traditionally, Java has been a clear favorite for product developers and open source fans. While Java platform continues to be robust in many ways, the time to deliver remains a perpetual problem. It takes weeks or even months to build a Java application from scratch and to get the features working end to end. Enterprise customers as well as ISVs have been waiting long for a faster development framework that not only facilitates faster development, but also let you develop on the underlying JVM. Needless to say, this new language can coexist with java as well.

This article is an excerpt from our white paper “Accelerating web application development with Groovy and Grails”. To get the complete whitepaper, please download it here.

Grails Development White Paper

What is Groovy & Grails?

Grails is an open source web application framework which uses the Groovy programming language (which in turn is based on the Java platform). It is intended to be a high-productivity framework by following the “coding by convention” paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developer.  Grails’ choice of Groovy and all the other components it uses makes it a very compelling platform for high-traffic and complex applications.

grails architecture

Diagram depicting the Grails architecture

How Grails compares with Java and Ruby:

Groovy and Grails meet expectations with Ruby on Rails on some factors, while it exceeds expectations in some others by utilizing the foundation of Java.

Comparison of Groovy with Ruby and Java

Consideration
Java ( JVM ?)
Ruby on Rails
Groovy and Grails
Reduced Time to Market No Yes Yes
Reduced Costs No Yes Yes
Long term scalability Yes No Yes
Recommended for applications currently on Java and PHP Yes No Yes

Summary

Consideration Java ( JVM ?) Ruby on Rails Groovy and Grails
Lines of codes to write (Prototypical form validation example) 20 8 6
Readability Lengthy lines of codes make it less readable Small size helps in readability Good IDE support and hence increases readability.
Also size of code governs readability
Performance High Comparitively lower than Java and Grails Higher than RoR but lesser than Java
Well-structured and updated knowledge base Yes No Yes
Adaptability with Agile No Yes Yes
Enterprise support Yes Small applications.
The support of enterprise technologies is not at the focus of the community
Could be used for prototyping and also for real applications
In built testing tools available No Yes Yes
Developer availability Huge supply Not as much compared to Java Groovy is a natural transition for Java developers
Scalability Yes No Yes
Richness of API/libraries available Yes No Yes
Ability to embed in desktop (Java/C++) applications Yes No Yes
Ease of deployment No Yes Yes
Learning curve Yes Depends on the history of the developer.
Generally start with the database schema and generate domain objects, view and controller from there
Depends on the history of the developer.
Start with the domain objects and generate view, controller and database schema.
A lot more people can write proper domain classes than proper database schemata.

 

Never miss a story!

Sign up for our newsletter and get the best stories delivered to your inbox.

Leave a Reply

Your email address will not be published. Required fields are marked *

7  +  3  =