Novidades do Groovy 2.2
Neste artigo veremos as principais novidades deste último release e de que forma você poderá aplicá-las em seus projetos, através de exemplos práticos.
Dentre as linguagens voltadas para a JVM, Groovy ainda é a mais popular. Esta popularidade se justifica por ela apresentar uma sintaxe muito próxima à do Java, porém removendo grande parte da sua verbosidade, e também por ser uma linguagem dinâmica. A partir da versão 2.0 muitas melhorias vêm sendo incluídas no projeto com o objetivo de aprimorar seu desempenho e aumentar a produtividade do desenvolvedor.
Groovy é uma das linguagens mais populares voltadas para a JVM. A primeira versão do projeto, lançada em 2003, conquistou diversos programadores Java ao apresentar uma sintaxe familiar à que estavam acostumados, ao mesmo tempo em que removia a verbosidade de diversas tarefas comuns ao seu dia a dia. Groovy fazia mais do que simplesmente reduzir a burocracia.
Por ser dinâmica, acabou propiciando a criação de um dos frameworks mais populares para desenvolvimento web, o Grails, que se tornou um dos principais impulsionadores da popularidade da linguagem.
Um fator que limitava sua introdução em diversos projetos era o seu desempenho, que realmente era bastante inferior ao do Java devido à natureza dinâmica da linguagem. Esta realidade começou a mudar rapidamente com o lançamento do release 1.8 e, a partir de julho de 2012, com o lançamento da versão 2.0, que trouxe a checagem estática de tipos, um recurso opcional que melhorou bastante a situação.
Até este momento era comum o Groovy ser dezenas de vezes mais lento que o Java. Hoje, felizmente, o cenário é bem diferente, com a linguagem estando em um patamar de performance bem próximo ao do Java. Para comprar esta melhoria, diversos benchmarks foram feitos. Como exemplo, confira o que se encontra na seção Links.
A versão 2.0 também trouxe uma série de melhorias para a linguagem no que diz respeito à produtividade dos desenvolvedores. Algumas delas, inclusive, inspiradas no Java 7, como instruções do tipo multi catch, melhorias na integração com o Java, uso da instrução invokedynamic, e diversas outras funcionalidades.
A tendência na melhoria da produtividade se confirmou na versão 2.1 e, finalmente, na versão que trata este artigo, a 2.2, que, apesar de ser um release com poucas novas funcionalidades, traz algumas que tornarão ainda mais simples a vida do desenvolvedor.
Com base nisso, neste artigo veremos alguns dos novos recursos presentes na versão 2.2, lançada em novembro de 2013 e que já possui seu primeiro bug fix, a versão 2.2.1, lançada duas semanas após o lançamento do release oficial.
Coerção implícita de closures
Uma das novidades mais comentadas e previstas para o Java 8 é a inclusão das expressões lambda, recurso bastante similar às closures, com as quais estamos acostumados a trabalhar no Groovy. Na implementação deste recurso em Java, há um aspecto que chamou a atenção da equipe de desenvolvimento do Groovy: o modo como as “closures do Java” podem ser convertidas de forma transparente em interfaces ou classes abstratas que possuem apenas um método abstrato. Soa estranho este recurso, não é mesmo? Então vamos clarificá-lo através da apresentação de um conceito e também alguns exemplos, mostrando como esta característica do Java ajudou os projetistas do Groovy a melhorar ainda mais a linguagem." [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Vídeo