O que são “Groovy” e “Grails” e que tipos de aplicativos são criados com eles?


100

Hoje em dia ouço muito sobre "Groovy on Grails" e quero saber mais sobre ele:

  • O que é Groovy?
  • O que é Grails?
  • Que tipo de aplicativo é criado usando Groovy no Grails?

3
Além disso, é apenas Grails. Não Groovy em Grails (isso não faz sentido ..). Você tem sorte que Marc Palmer não viu esta pergunta :)
leebutts

23
Grails = Groovy on Rails
Pascal Thivent,

1
Na verdade, houve bastante controvérsia em torno do apelido "Groovy on Rails", e é por isso que Grails NÃO é mais chamado de Groovy on Rails. É apenas Grails.
Matthias

3
Sim, 5 anos atrás em 2006 os caras do Ruby on Rails reclamaram e o framework que era chamado de 'Groovy on Rails' foi renomeado apenas para Grails. Nunca foi chamado de Groovy on Grails, exceto por recrutadores confusos e suas vítimas.
Burt Beckwith

Respostas:


188
  1. O que é Groovy on Grails?

    Ele não existe mais com este nome. Agora é simplesmente chamado de Grails .

  2. O que é Groovy?

    Originalmente, uma linguagem dinâmica para JVM. No entanto, desde o Groovy 2.0, há suporte para tipagem estática e dinâmica.

  3. O que é Grails?

    Grails (anteriormente conhecido como "Groovy on Grails") é uma estrutura de programação baseada em Groovy e inspirada em Ruby on Rails (existem diferenças, mas existem muitas semelhanças também). Como o RoR, o Grails promove a "codificação por convenção", as melhores práticas de desenvolvimento e deve ser altamente produtivo.

  4. Que tipo de aplicativos são construídos usando " Groovy on Grails"?

    Grails é usado para construir aplicativos da web que são executados na JVM.

  5. Quais são as vantagens do Groovy no Grails?

    Alta produtividade, com foco em negócios em vez de encanamento. (Observe que eu não recomendaria usar Grails com um modelo de dados existente. A razão por trás disso é que Grails incentiva uma abordagem de cima para baixo em que o modelo ER de bancos de dados surge como resultado das classes de Domínio. Se você estiver usando um banco de dados legado , você não pode seguir esta abordagem. Você deve mapear o banco de dados para as classes de domínio, e provavelmente a convenção de nomenclatura não corresponderá, tornando necessário o uso de arquivos de configuração ou anotações do Hibernate hbm.xml. IMO, esta não é uma mudança trivial no o fluxo de trabalho, ele pode se tornar muito complicado e você acaba perdendo a maioria das vantagens do Grails.)

  6. Por que alguém iria querer usar Groovy no Grails quando temos linguagens de programação padrão como C / C ++, Java / J2EE e .NET / C #?

    Por causa do ponto 5.


1
Você pode explicar mais por que não recomendaria usar grails com um modelo de dados existente?
Todd Hunter,

1
Você pode explicar mais sobre o que você quer dizer com High productivity, focusing on business instead of plumbing.? o que é plumbing?
Thang Pham

@HarryPham - Código padrão e lidar com "como as coisas são feitas" em vez de "o que fazemos" da implementação
cdeszaq

@Pascal Thivent - Posso acabar reescrevendo o programa de outra pessoa do zero e, se não fosse pelo seu ponto de não recomendar o uso de Grails com um modelo de dados existente, Grails seria o vencedor claro para o framework usar. Ainda não vi a arquitetura do banco de dados do programa, mas imagino que seja bastante simples, dada a funcionalidade direta do programa. Sua recomendação mudaria se a arquitetura de banco de dados existente fosse simples? O incômodo fluxo de trabalho poderia ser evitado migrando os dados do banco de dados legado para um novo banco de dados e, em caso afirmativo, isso seria difícil de fazer? Obrigado.
Daniel,

Desde o Grails 3, existem diferentes perfis que você pode usar para personalizar a estrutura Grails para suas necessidades específicas. Não é mais apenas um framework da web, ele pode ser usado com sucesso para desenvolver microsserviços REST leves, sem a pegada de um mecanismo de modelagem ou mesmo uma camada ORM. grails.github.io/grails-doc/latest/guide/single.html#profiles
Luis Muñiz

24

Groovy é uma linguagem de programação orientada a objetos para a plataforma Java. É uma linguagem dinâmica com recursos semelhantes aos do Python, Ruby, Perl e Smalltalk. Ele pode ser usado como uma linguagem de script para a plataforma Java. Groovy tem uma sintaxe semelhante a Java e funciona perfeitamente com bytecode Java.

Outros recursos incluem:

  • Curva de aprendizado fácil
  • Suporte para idiomas específicos de domínio
  • Sintaxe compacta
  • Suporte para digitação dinâmica
  • Poderosas primitivas de processamento
  • Facilidade de desenvolvimento de aplicativos da Web
  • Suporte para teste de unidade.

Grails é uma estrutura de aplicativo da web de código aberto que usa a linguagem de programação Groovy. Destina-se a ser uma estrutura de alta produtividade, seguindo o paradigma "codificação por convenção", fornecendo um ambiente de desenvolvimento independente e ocultando muitos dos detalhes de configuração do desenvolvedor.

Como Rails, Grails parece ser o que chamo de "Fortemente granulado". Se você faz as coisas do jeito Grails, o desenvolvimento é fácil (e geralmente muito rápido). A estrutura tende a ter uma maneira preferencial de fazer a maioria das coisas. Por outro lado, se você precisar ir contra a corrente, terá um tempo comparativamente difícil.

E não diga Groovy on Grails (não existe), por motivos, consulte este blog.


12

Grails é diretamente análogo ao Ruby on Rails , mas rodando com Groovy. O que é Groovy ? É uma linguagem de script executada na Java Virtual Machine (JVM).

Portanto, você pode usar as bibliotecas Java que já possui ou que estão disponíveis (uma vez que são compiladas em bytecode e, portanto, executadas em uma JVM), além do poder da JVM (para coleta de lixo, velocidade via compilação JIT etc.) e a concisão de Groovy. A curva de aprendizado para um programador Java para pegar Groovy é considerada muito pequena (aproveitando assim o grande número de programadores Java disponíveis).

É uma maneira muito diferente de criar aplicativos da web para os mecanismos Java padrão de programação de servlet, JSPs, Java Server Faces etc. Grails (como Ruby on Rails) promete um ambiente de desenvolvimento mais dinâmico e iterativo do que os mecanismos de desenvolvimento padrão (seja verdade em prática , não posso aconselhar)


Cérebro, suas declarações se contradizem, você diz que é uma linguagem de script, mas no próximo parágrafo diz que está compilada para código de bytes. Sou um programador .NET, e linguagens de script como javascript etc não são compiladas, apenas interpretadas. Você poderia explicar o que quer dizer com essas declarações contraditórias
Aluno

O Groovy pode ser usado das duas maneiras. O programa Groovy pode ser executado como um script simples linha por linha, como javascript. Ele também pode ser compilado usando o compilador groovy para a classe de bytecode que pode ser executada usando JVM.
pRmdk

0

Framework Grails- MVC para desenvolver uma aplicação web e uma plataforma pronta para codificar com DRY (Não se repita) construída no topo do Spring + Hibernate. A plataforma Grails cuida da infraestrutura e dependências para executar um aplicativo da web de forma que os desenvolvedores possam se concentrar na construção das funcionalidades do produto. Grails - uma ótima estrutura para as organizações de inicialização para lançar o produto do modo de desenvolvimento para o modo de produção.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.