Groovy-Eclipse 2.5: Integração com Groovy 1.8 e expansão no suporte a DSLs
A SpringSource anunciou recentemente o lançamento da versão 2.5.0 do Groovy-Eclipse, o plug-in que possibilita o uso do IDE Eclipse para o desenvolvimento com a linguagem Groovy. A principal novidade é o suporte aos novos Descritores de DSLs (DSLDs), que estendem o suporte a DSLs (linguagens específicas ao domínio). O editor também evoluiu, com uma melhor assistência para criação de código e inferência de tipos. O Groovy 1.7.10 é suportado por padrão, mas a recém-lançada versão 1.8 pode ser utilizada através de um add-on.
Para ilustrar o funcionamento dos DSLDs, usamos como exemplo uma DSL para cálculo de distância, definida na documentação do Groovy-Eclipse:

Mesmo sem entrar em detalhes sobre a implementação dessa DSL, podemos notar sua utilidade. Com uma notação simples, o código na imagem acima faz o cálculo de distância envolvendo quatro unidades diferentes: metros, jardas, milhas e quilômetros. Observe na imagem que m, yd, ml e km estão sublinhados. Isso significa que o editor de código Groovy do Eclipse inicialmente não reconhece a nova “linguagem”.
É neste ponto que entram os descritores de DSLs. Ao adicionar arquivos do tipo Groovy DSL Descriptor (extensão .dsld) ao projeto Eclipse, é habilitado o suporte às linguagens especificas ao domínio no editor de código. Um exemplo de DLSD:
currentType( subType( Number ) ).accept {
[ m: "Meter", yd: "Yard", cm: "Centimeter", mi: "Mile", km: "Kilometer"].each
{
// Considerando que url foi definida anteriormente
property name:it.key, type:"Distance",
doc: """A <code>${it.value}</code> from <a href="$url">$url</a>"""
}
}
(Este exemplo e as imagens foram extraídos deste post no blog da Spring Source, que mostra mais detalhes sobre a definição e suporte a DSLs no Eclipse.)
Analisando o exemplo acima, pode-se observar que a própria descrição da DSL obedece a uma sintaxe própria e aceita comandos Groovy. Em outras palavras, a linguagem utilizada pelos DSLDs também é uma DSL, e por isso possui o seu próprio meta-descritor. Como resultado da presença do .dsld no projeto, o editor já será capaz de exibir informações sobre a nova linguagem para cálculo de distâncias, conforme a figura a seguir:

Mesmo desenvolvedores que ainda não tiveram necessidade de criar suas DSLs serão beneficiados – através de DSLDs criados por terceiros. A tendência é que rapidamente surjam DSLDs de uso comum, suportando por exemplo as diferentes peças do ecossistema do Groovy (como Grails, Gaelyk, e Griffon).
Conteúdo educacional
Lean na Globo.com
Bernardo Heynemann 24 Mai, 2013
Mobilidade: Frameworks, SOs e o Mercado
Ricardo Ogliari 23 Mai, 2013
Caminhos de uma estratégia mobile
Sérgio Lopes 23 Mai, 2013
Complexidade organizacional no Século 21
Alexandre Magno 16 Mai, 2013

Olá visitante
Você precisa cadastrar-se no InfoQ Brasil ou Login para enviar comentários. Há muitas vantagens em se cadastrar.Obtenha o máximo da experiência do InfoQ Brasil.
Dê sua opinião