InfoQ

Minibook

Getting Started with Grails

Posted by Jason Rudolph on Jan 17, 2007 01:00 AM

Community
Java
Topics
Web Frameworks ,
Dynamic Languages
Tags
Grails ,
Groovy


Grails is an open-source, rapid web application development framework that provides a super-productive full-stack programming model based on the Groovy scripting language and built on top of Spring, Hibernate, and other standard Java frameworks.

Ruby on Rails pioneered the innovative coupling of a powerful programming language and an opinionated framework that favors sensible defaults over complex configuration, but many organizations aren't yet ready to stray from the safety of Java or forgo their current Java investments. Grails makes it possible to achieve equivalent productivity in a Java-centric environment.

131 pages, 6"x9", ISBN 978-1-4303-0782-2

Free download, buy the print version for $19.95

If you enjoyed reading the free downloadable version, please support the author as well as future InfoQ books by purchasing the print copy for only $19.95, or: Login to download this book FREE (PDF)



Accompanying Source Code

This ZIP file includes the complete source code for all the examples in this book, with each folder containing a snapshot of the source as it exists at the end of a particular chapter: gswg_source_v1_4.zip

Table of contents

1.    INTRODUCTION
Learning by Example
The RaceTrack Application 

2.    LACING UP
Installing a JDK
Installing Grails
Installing a Database

3.    HELLO, GRAILS!   
Creating Your First Grails Application   
What’s Inside?   
Establishing Your Domain   
Taking Control  
Where’s My Data? 
Building Better Scaffolding 
Understanding URLs and Controllers 

4.    IMPROVING THE USER EXPERIENCE  
Customizing Error Messages  
Adding Warning Messages  
Implementing Confirmation Messages  
Removing Record IDs  
Formatting Data  

5.    GET DYNAMIC  
Dynamic Finders  
Build Your Own Criteria  

6.    NOT JUST FOR INTRANET APPS  
Beyond CRUD  
Implementing User Authentication   
UI Makeover: Layouts and CSS  

7.    PUTTING IT TO THE TEST 
Unit Testing  
Functional Testing 

8.    THE FINISH LINE 
Logging  
Deploying  

9.    TIPS AND TRICKS FOR MOVING FORWARD  
Defining Your Own Database Tables  
Working with a Legacy Database Schema 
ORM Troubleshooting  
Upgrading Grails

Author Bio

Jason Rudolph is an Application Architect at Railinc, where he develops software that helps keep trains moving efficiently throughout North America. He recently delivered an industry-wide inspection reporting and management system relied on for operational safety by Fortune 500 railroads, equipment leasing companies, and the Federal Railroad Administration. You can find Jason online at http://jasonrudolph.com.

About the InfoQ Enterprise Software Development Series

Books on InfoQ are intentionally short and attempt to address important, timely issues in as concise a way as possible. The book's writing is intended for the Senior Architect/team lead audience.  Ever thought of writing a book? Our series is a great way to start. InfoQ offers abnormally high royalties and also contract writing opportunities. Email books AT c4media.com for opportunities.

Educational Content

JRuby: The Pain of Bringing an Off-Platform Dynamic Language to the JVM

Charles Nutter discusses bringing JRuby to the JVM, why Ruby is hard to implement, JIT compilation, precompilation, core Ruby implementation, Java library access, library challenges and future plans.

Performance Anti-Patterns in Database-Driven Applications

Alois Reitbauer specifies several architectural anti-patterns that one should stay away from and which can downgrade an application’s performance.

Making TDD Stick: Problems and Solutions for Adopters

Teams in large organizations still struggle to adopt TDD. In this article Mark Levison shares problems he uncovered when he surveyed teams, and his own strategy to introduce TDD into an organization.

Testing is Overrated

In this talk from RubyFringe, Luke Francl asks: is developer-driven testing really the best way to find software defects? Or is the emphasis on testing and test coverage barking up the wrong tree?

VM Optimizations for Language Designers

John Pampuch discusses the HotSpot compiler, the history of Java performance, HotSpot development philosophies and challenges, optimization, JVM library improvements, and tips for better performance.

Keith Braithwaite, an Agile Skeptic

In this interview, Keith Braithwaite, an Agile developer, consultant and trainer, says that we should show a good deal of skepticism towards today’s Agile practice.

Workflow Orchestration Using Spring AOP and AspectJ

This article demonstrates how to build and orchestrate highly configurable and extensible yet light-weight embedded process flow using AOP techniques with Spring AOP and Aspect J.

Embrace Uncertainty

Jeff Patton explains why one needs to embrace uncertainty in order to succeed with his/her Agile project and how to avoid some of the common mistakes leading to project failure.