Veja as principais aplicações da linguagem Groovy, sua sintaxe básica e como utilizá-la no dia a dia.

O Groovy faz parte do universo mágico da programação orientada a objetos. Como outras linguagens, ele surgiu com o objetivo de auxiliar desenvolvedores a adicionar novos recursos aos produtos – tornando aplicativos e softwares muito mais ágeis e dinâmicos. 

Existem diversas linguagens de programação que nasceram em torno de outras sintaxes, o que é o caso do Groovy. Ele foi inspirado em outras linguagens como Python, Ruby e Smalltalk. Tais características o tornam disponível aos programadores Java, pois utilizam uma sintaxe muito parecida. 

Contudo, o Groovy não foi concebido para substituir a linguagem Java, mas sim complementá-la. Bob McWhirter e James Strachan criaram uma estratégia que permitiu ao Groovy “concentrar-se nas lacunas do Java”. Não é por acaso que a linguagem de programação Groovy é cada vez mais utilizada nos últimos anos!

Segundo o TIOBE, entre agosto de 2015 e agosto de 2016 o Groovy subiu 21 posições no ranking das linguagens de programação mais utilizadas, passando da 37ª posição para a 16ª. Ela participa do atual TOP 11 do TIOBE/2020. Por isso, se estiver pensando em aprender linguagem de programação, continue neste artigo! 

O que é Groovy?

O Groovy, linguagem de programação também conhecida como Apache Groovy, é compatível com a sintaxe Java, orientado a objetos e desenvolvido para a máquina virtual Java (JVM). Na prática, isso significa que o código Groovy pode rodar em Windows, Linux, Mac desde que possuam uma JVM para interpretação. 

A linguagem pode ser explicada como sendo um “aprimorador” do Java, já que fornece mais flexibilidade e introduz recursos especiais para aplicativos. Além disso, o Groovy oferece muitos aprimoramentos ou extensões para muitas classes Java, os JDK – componente-chave da plataforma na construção de aplicativos Java. 

Características do Groovy

Fonte da imagem: JRebel

Características que popularizaram a linguagem Groovy são a dinamicidade, a tipagem estática (a verificação ocorre na compilação, e não na execução), a sintaxe nativa para listas e expressões regulares, e os “closures”. Aliás, ela possui uma meta-classe para cada classe que conhece os métodos de extensão disponíveis. 

A execução de código Groovy dinâmico envolve a lógica de envio de um método que roteará a execução para um método de classe nativo de extensão. Caso haja dois métodos com o mesmo nome, mas tipos de parâmetros diferentes, o Groovy vai escolher o método mais adequado em tempo de execução. 

Desde a primeira versão, há os Groovy closures – funcionalidade criada em Java apenas na versão 8. O closure armazena código executável e permite que a linguagem seja aplicada ao paradigma de programação funcional e alcance os três aspectos que o caracterizam: funções de primeira classe, funções puras e recursão.

As funções de primeira classe são passadas por parâmetro para outras funções ou são o resultado de uma função. As funções puras são aquelas que não alteram o estado do sistema. A recursão ocorre quando uma closure pode ser recursiva. Toda essa sintaxe faz o código Groovy ser mais compacto e fácil de ler. Bacana, né? 

Vantagens do Groovy

Além de ser uma linguagem ágil e dinâmica, como você viu, o Groovy Java serve como um script para a plataforma Java, oferecendo recursos empresariais dela. Outras vantagens dessa linguagem de programação são: 

  1. Recursos de produtividade, como suporte DSL, encerramentos e digitação dinâmica;
  2. Integração com todos os objetos da biblioteca Java;
  3. Facilidade de aprender, se você já trabalha com Java; 
  4. Código conciso e orientado a teste, pois fornece suporte para a execução de testes em ambientes de desenvolvimento integrado (IDEs);
  5. Utilização em aplicativos já existentes e desenvolvidos com Java;
  6. Suporte nativo para linguagens de marcação, como XML e HTML;
  7. Suporte para linguagens específicas de domínio, pois fornece uma estrutura para resolver situações globais.

Principais aplicações da linguagem Groovy

Se você está se perguntando se o Groovy é para você e se deve aprender como programar nessa linguagem, vamos ajudá-lo apresentando algumas aplicações do Groovy.

Desenvolvimento web

Por ser uma linguagem ágil e dinâmica, o Groovy pode ser usado em outros frameworks além do Grails, como Micronaut, Spring Boot, Ratpack e outros.

Linguagem embarcada 

O Groovy pode ser utilizado de forma complementar ao Java por meio da construção de plataformas estendidas em tempo de execução pelos usuários com a inclusão, a edição e a remoção de scripts. 

Ferramenta de automatização 

O código Groovy pode ser executado na forma de scripts – e isso abre caminho para a automatização, como agendamento de tarefas de manutenção, raspagem de dados, implementação de crawlers e muito mais.  

Porta de entrada para outras linguagens

É difícil encontrar desenvolvedores que saibam programar em Java, certo? Então, por que não usar o Groovy como estímulo ao aprendizado de outras linguagens como Java, Ruby ou Python? Ele disponibiliza recursos de programação modernos para desenvolvedores Java com curva de aprendizado quase zero. 

Sintaxe básica da linguagem Groovy

A sintaxe básica da linguagem Groovy é Java, pois, de certa forma, o Groovy é um superconjunto de Java. Assim, se você quiser imprimir um dos comandos Groovy simples como “Hello World”, ele seria assim:

public class Demo {
    public static void main (String args []) {
        System.out.println ("Hello World");
    }
}

Contudo, a vantagem do Groovy é que podemos dispensar a criação de classes ou métodos públicos e obter a mesma saída com um código de linha única: 

println “Olá, mundo.” 

Como você pode perceber, não há necessidade de ponto e vírgula ou parênteses. O “System.out.println” é reduzido para “println”. Dessa forma, o suporte nativo para expressões regulares fica realmente simples. 

Operadores em Groovy

O Groovy tem cinco tipos de operadores, que nada mais são que símbolos que dizem ao compilador para fazer certas manipulações matemáticas ou lógicas. 

  • Operadores aritméticos: adicionar (+), subtrair (-), multiplicar (*) e dividir (/);
  • Operadores relacionais: igual a (==), diferente de (!=), menor que (<) menor ou igual a (<=), maior que (>), maior ou igual a (> =);
  • Operadores lógicos: and (&&), or (||), not (!);
  • Operadores bit a bit: and (&), or (|), xor ou exclusive-or (^);
  • Operadores de atribuição: operador de negação (~).

Além dos recursos extras, como scripts e recursos de linguagem específica de domínio, o Groovy traz uma sensação de vivacidade ao mundo da programação. Lembra que ele é a 11ª linguagem mais usada no mundo?  

Uma última dica é conferir a página oficial da linguagem. Lá, você encontra um verdadeiro tutorial Groovy, com indicações de livros, sites e fóruns online para trocar experiências com pessoas do universo da programação.

Compartilhe com a gente o que você achou deste artigo! 🙂