The Grails team and
G2One, the Groovy/Grails professional services company, have just released the
final 1.0 version of
Grails, the agile web application development stack, built on best of breed Open Source components such as the
Groovy dynamic language, the
Spring framework, and the
Hibernate ORM solution.
In this final version, Grails brings new features on board:
- GORM DSL for advanced Mappings: The Grails Object Relational Mapping built on top of Hibernate adds a Domain-Spcific Language that reduces the need to fall back to traditional Hibernate mapping.
The DSL allows customization of table and column names, inheritance strategy, second-level cache configuration, Id generation strategy, composide Id support, eager/Lazy loading, database indices, and custom Hibernate user types.
- Support for easy to use Filters: Grails has up until now supported interceptors that can be used within controllers. Filters however offer a more powerful way of defining cross cutting concerns.Filters can be applied to an entire controller, only specific actions or entire URI spaces.
- Content Negotiation support: Grails now supports content negotiation via the Accept/Content-Type HTTP headers, a parameter or URI extensions. Mime types can be configured in Grails' Config.groovy configuration file.
- REST support: JSON and XML requests can now be automatically unmarshalled via the params object.
More details can be found on the
official release notes.
Also worthy of notice beyond a static feature list, the Grails team worked on a
very complete and thorough new documentation to help Grails users get the best out of the framework.
If you haven't tried Grails yet, Scott Davis recently published an
excellent article to get you started with Grails on IBM DeveloperWorks.
Even though Grails wasn't released by the time,
many companies have successfully deployed Grails applications in production, as Graeme Rocher, Grails lead, explained in a
recent interview on InfoQ, such as major French
broadcasting and media companies, a top Human Resources company in the UK, or by SAP's
Composition on Grails project which allows people to quickly build composite applications on SAP NetWeaver 7.1. Startups have also picked up and leveraged Grails to build scalable FaceBook applications with a
classifieds service (a
reverse classifieds concept), and a friendly application to
find friends and places for a beer, and some people also built an
innovative online community multi-media and story tool with Grails. Last but not least,
Enotions Ltd has built several Grails-powered sites for
different PepsiCo brands.
The blogosphere is abuzz with the announcement of the release. Paul Krill, columnist at
InfoWorld says:
With Grails, Java and Ruby developers get convention-based rapid development while leveraging existing knowledge and capitalizing on APIs Java developers have used for years.
While blogging about the release, Matt Raible
underlines that:
For companies that have invested a lot of time and money into the JVM as a platform, it seems like Grails is the clear winner over Rails.
Steven Devijver, one of the original Grails founders,
mentions on
GroovyZone, the new community news site dedicated to Groovy and Grails, that:
For [him] Grails is the ultimate rapid prototyping platform for Java. [He's] built numerous applications by dropping in existing Hibernate-configurated classes and generate scaffolding views. It gets you started really quickly and helps you to focus on the application you're building.
A key element in the agility of Grails comes from its choice of the mature and powerful
Groovy dynamic language as the core glue to tie all the layers together. Back in december,
Groovy 1.5 was released, making the headlines with its
new features, covered extensively on InfoQ, and performance improvements. Groovy has also been noticed to be becoming more popular and widespread on the
TIOBE index, ranking Groovy as the 31st most popular language, coming from the 66th rank 6 months earlier, and over 100th a year before. Also, Groovy has proven to be a viable and mature platform on its own, as several success stories have shown over the past few years, in various sectors:
- in financial institutions to handle million-dollars hedge funds or to customize advanced trader desktop applications,
- in a US Fortune 500 insurance company, Mutual of Omaha, where Groovy is used as a business language in a risk calculation engine for insurance policies,
- in a top major American credit card company,
- or in the health sector, for the US National Cancer Institute, where Groovy checks, fixes, and validates patient file details, and in bioinformatics, for crunching genenome data sources.
If you want to learn more about both Groovy and Grails, beyoned the existing titles such as
Groovy in Action and
The Definitive Guide to Grails, new books are hitting the shelves in the coming months:
Beyond books, the
NoFluffJustStuff crew is organizing the
first major North American conference dedicated to Groovy and Grails, the
2G Experience. The conference takes place in Reston, Virginia, near Washington DC, on February 21-23.
As the site puts it:
You will learn about rapid application development with Groovy / Grails and network with other developers who are redefining the way web applications are developed on the Java platform.
Among the numerous reknowned speaker and Groovy / Grails contributors, Venkat Subramaniam
speaks about his upcoming sessions on Domain-Specific Languages in Groovy, and testing techniques in Groovy, Neal Ford is interviewed on his slots about Design Patterns in Groovyn and a comparison of JRuby and Groovy, and Jason Rudolf
gives more details on his presentations on advanced usages of the GORM layer.
(Of course, it shouldn't go without note that TheServerSide Java Symposium covers Groovy as well: one example is Scott Davis' presentation on
Metaprogramming (Or: The Groovy Way to Blow a Buttoned-Down Java Developer’s Mind). We look forward to seeing you there.)