1. Introdução

Grails é um framework para construção de aplicações web dinâmica de alta produtividade que utiliza as linguagens de programação Java e groovy. O framework trabalha com o paradigma “Programação por convenção” que tem por objetivo preservar o desenvolvedor dos detalhes de configuração deixando a processo de desenvolvimento simples sem perder a flexibilidade. O Grails usa o modelo de desenvolvimento de software MVC e conta com as mais consagradas APIs Java na sua arquitetura como Hibernate, Spring, JSF, SiteMesh e Maven além de poder ser integrado com qualquer biblioteca Java através de plugins ou acesso direto.

2. Preparando o Ambiente

Para mostrar nosso exemplo precisamos instalar a IDE STS (SpringSource Tool Suite) que é uma distribuição da IDE eclipse pela SpringSource.

Link para download: http://www.springsource.com/products/springsource-tool-suite-download


Figura 1. Tela inicial.

Uma vez instalado a IDE, nosso segundo passo será instalar a extensão do Grails na ferramenta. Para fazer isso, acesso no Dashboard a aba Extensions e instale as extensões Grails (current production release), Grails Support e Groovy Eclipse.


Figura 2. Instalando a extensão do Grails.

3. Criando o Projeto

Para criar um novo projeto acesse o menu File->New->Grails Project, configure de acordo com a imagem a seguir e clique em Finish.


Figura 3. Criando novo Projeto.

4. Configurando o MySQL

Esse tutorial leva em consideração que você já tenha instalado o MySQL no seu computador. Para configurar o acesso ao MySQL primeiramente crie um banco com o nome de “contatos” e em seguida abra o arquivo DataSource.groovy na pasta conf do seu projeto Grails e configure de acordo com a imagem a seguir.


Figura 4. Configurando MySQL.

Como podemos ver, o Grails por convenção, cria 3 ambientes de dados: Desenvolvimento, Teste e Produção. No nosso caso vamos usar o mesmo banco para os três ambientes.

Para completar nossa configuração vamos importar o driver do MySQL utilizando o maven. O arquivo de dependências do maven chama-se BuildConfig.groovy e está localizado na pasta conf do projeto.

Veja na imagem a seguir, como fica a declaração da dependência do driver.


Figura 5. Declaração da dependência do driver.

5. Criando a domain class contato

Como disse na introdução que o Grails utiliza o padrão de desenvolvimento de software MVC, se você observar na estrutura de diretórios existem três pastas que representam esse padrão. São elas: domain, controller e views.

Vamos criar nossa classe principal que vai se chamar Contato. Para isso acesso o menu File->New->Domain Class e configure de acordo com a imagem a seguir.


Figura 6. Criando nova Classe.

Para concluir nossa domain class, acrescente os seguintes atributos e constraints (validador): nome,email, telefone e obs. Conforme a imagem a seguir:


Figura 7. Acrescentando atributos e constraints

6. Usando o Scaffolding para gerar o controller e as views.

O Scaffolding é uma técnica utilizada por alguns framework que trabalham com o padrão MVC, que consiste em gerar a partir de um modelo, no nosso caso a domain class, o controller e as views com os principais operações de um CRUD: listagem, inclusão, alteração e exclusão.

No Grails, para executar o Scaffolding vamos acessar o prompt de comandos do Grails através das teclas Shift+Ctrl+Alt+G e informar o seguinte comando: generate-all contatos.Contato.


Figura 8. Executando comando.

Depois de executado o Scaffolding você pode observar na pasta controller o arquivo ContatoController.groovy e na pasta views os arquivos create.gsp, edit.gsp, list.gsp e show.gsp.


Figura 9. Pastas e arquivos criados.

Se você abrir o arquivo ContatoController.groovy, poderá observar os métodos de um CRUD refletindo os arquivos da pasta views. São eles: index, list, create, save, show, edit, update e delete.

7. Executando nossa aplicação

Feito esses passos, só nos resta executar nossa aplicação e ver o resultado final. Para isso acesse o prompt de comandos do Grails através das teclas Shift+Ctrl+Alt+G e execute o seguinte comando: run-app.


Figura 10. Executando aplicação.


Figura 11. Console de exemplo.

No navegador acesse o endereço: http://localhost:8080/contatos/contato


Figura 12. Acessando Endereço

Validação de email


Figura 13. Validação de E-mail

Confirmação de inclusão


Figura 14. Confirmação de Inclusão

8. Conclusão

Como podemos comprovar no exemplo, o Grails é um framework que facilita muito a vida dos desenvolvedores trazendo simplicidade, dinâmica e rapidez no desenvolvimento de uma aplicação web sem perder a flexibilidade.

Um dos papéis fundamentais de um desenvolvedor de software é facilitar a vida de seus usuários, porém a sua vida não é muito facilitada assim, ou melhor, não era até surgir esse novo conceito em desenvolvimento de software que preserva os detalhes da configuração deixando o desenvolvedor focado apenas nas regras de negócio que é onde devemos perder a maior parte do tempo disponível em um cronograma de um projeto.

É bom deixar claro que o Grails não é nenhuma bala de prata e que existem pontos positivos e negativos que precisam ser colocados em uma balança e analisados para posteriormente ter uma visão clara da viabilidade de uso ou não em seu projeto.

O importante é que os pontos positivos predominam e que a comunidade Java está dando um feedback bastante positivo sobre esse novo paradigma que tem uma grande tendência de ser um dos principais modelos de desenvolvimento de software num futuro muito próximo.

9. Referências

1. Grails - STS+Integration. Disponível em: http://www.grails.org/STS+Integration. Acessado em: 26/03/2012.