Por Que Grails?

2012/12/10

Vou começar falando sobre por que escolhi Grails e quais os pontos são necessários analisar no nomento de escolher uma ferrementa de desenvolvimento.

Acesso a base de dados

Acredito que atualmente, é necessário escolher algo que possua suporte a múltiplas bases de dados. Apesar de existir inúmeras tecnologias fornecerem ferramentas para criar uma aplicação que suporte conexão com múltiplos bancos de dados, ainda tem muito desenvolvedor utilzando PL/SQL tornando sistemas ingessados e colocando fim na questão escalabilidade.

O Grails possuí o GORM um framework de persistência baseado em ActiveRecords do RubyOnRails e tem como base o consagrado Hibernate no mundo Java.

Migrações

O Grails possuí o Database Migration Plugin, que torna possível criar scripts para migrar a base de dados. Este script é totalmente DSL, tornando fácil a criação, alteração ou exclusão de objetos ou registros.

Segurança

Bom, é imprescindível que um sistemas tenha segurança no acesso aos dados. O Grails possuí filters que são interceptadores de requisições, onde é possível definir as regras para permissão ou proibição do acesso. Caso seja necessário um controle mais rígido é possível utilizar o plugin Spring-Security.

Escalabilidade

Vou considerar este item, como sendo a capacidade de um sistema estar preparado para crescer em todos seus aspectos. Fazer com que isto seja possível depende muito da modelagem deste sistema e isto pouco depende da tecnlogia. Porém é necessário que a tecnologia escolhida forneça as ferramentas para isto. O Grails poussuí uma central de plugins, que torna fácil adaptar seu sistema a inúmeras funcionalidas como por exemplo Multi-tenancy, segurança, migrações entre outros.

Facilidade no desenvolvimento

Neste ponto, quero relatar sobre a linguagem Groovy, que por ser uma linguagem funcional nos dá uma facilidade enorme na hora de produzir código. Além disso, para mim que estou vindo do mundo Java e optei por manter um software sobre a JVM, o Groovy integra com todas as classes Java existentes, além de poder produzir código Groovy ou Java. Outro item interessante são os Scaffolding. Com eles é possível gerar toda a parte de CRUD da sua aplicação.

Testes

Apesar de muitos desenvolvedores ainda não utilizarem testes automatizados, acredito este ser o requisisto é o mais importante. O Grails poussuí tanto testes unitários quanto testes de integração.

Conclusão

A minha escolha pelo Grails levou em consideração além dos pontos citados, a curva de aprendizado ser menor por já conhecer a plataforma Java, a boa documentação existente, por ser desenvolvido sobre frameworks consolidados no mercado como: Hibernate, Spring, e por ter exemplos de sucesso como o Linkedin e a Sky.

Índice