Entrar em Contato

Programa do Curso

Introdução ao Groovy

  • Introdução ao Apache Groovy
  • História e evolução do Groovy
  • Groovy e a Máquina Virtual Java
  • Groovy como linguagem de scripting e programação
  • Casos de uso comuns do Groovy
  • Groovy em projetos baseados em Java
  • Vantagens do uso do Groovy juntamente com o Java
  • Visão geral da aplicação de exemplo

Visão Geral dos Recursos do Groovy

  • Tipagem dinâmica e tipagem estática opcional
  • Capacidades de scripting do Groovy
  • Sintaxe concisa e aprimoramentos da linguagem
  • Closures e programação funcional
  • Coleções do Groovy e APIs aprimoradas
  • Sobrecarga de operadores
  • Interpolação de strings
  • Navegação segura e operadores Elvis
  • Desenvolvimento de Linguagens Específicas de Domínio (DSL)
  • Capacidades de metaprogramação
  • Groovy Development Kit (GDK)

Configurando o Ambiente de Desenvolvimento

  • Instalação e configuração do Groovy
  • Trabalhando com distribuições do Groovy
  • Usando o Groovy a partir da linha de comando
  • Executando scripts Groovy
  • Configurando uma IDE
  • Criando um projeto Groovy
  • Gerenciando dependências
  • Integrando o Groovy com projetos Java
  • Configurando o ambiente de desenvolvimento para contêineres

Escrevendo Seu Primeiro Aplicativo Groovy

  • Criando um script Groovy básico
  • Entendendo a estrutura de um script Groovy
  • Executando aplicações Groovy
  • Usando a declaração println
  • Trabalhando com variáveis
  • Definindo métodos
  • Adicionando comentários e documentação
  • Construindo uma aplicação de exemplo simples
  • Compilando código Groovy

Familiarizando-se com a Sintaxe do Groovy

  • Declarações e expressões do Groovy
  • Pontos e vírgulas e elementos sintáticos opcionais
  • Variáveis e constantes
  • Tipagem dinâmica e explícita
  • Literais e interpolação de strings
  • Strings de linha única e múltiplas linhas
  • Operadores e expressões
  • Operadores e atalhos do Groovy
  • Tratamento de nulos
  • Navegação segura
  • Operador Elvis
  • Atribuição múltipla

Usando Tipos de Dados e Coleções do Groovy

  • Tipos primitivos e de objeto
  • Números e operações numéricas
  • Strings e caracteres
  • Booleanos
  • Datas e valores relacionados ao tempo
  • Listas
  • Mapas
  • Conjuntos (Sets)
  • Intervalos (Ranges)
  • Iteração sobre coleções
  • Transformações de coleções
  • Filtragem e busca em coleções
  • Ordenação e agrupamento de dados
  • Métodos de coleção do Groovy

Usando Closures no Groovy

  • Entendendo closures
  • Sintaxe de closures
  • Parâmetros de closures
  • Parâmetros implícitos de closures
  • Chamando closures
  • Closures como variáveis
  • Passando closures para métodos
  • Retornando closures de métodos
  • Closures e coleções
  • Usando closures para filtragem e transformação
  • Escopo e captura de variáveis
  • Closures para programação funcional
  • Padrões práticos de closures

Controlando o Fluxo do Programa com Estruturas de Controle do Groovy

  • Declarações condicionais
  • if e else
  • Condições aninhadas
  • Declarações switch
  • Laços e iteração
  • for, while e do-while
  • Intervalos (Ranges) em laços
  • Usando closures para iteração
  • break e continue
  • Tratamento de exceções
  • try, catch e finally
  • Lançando exceções personalizadas
  • Recursos de fluxo de controle específicos do Groovy

Implementando Programação Orientada a Objetos (POO) na Sua Aplicação

  • Definindo classes Groovy
  • Propriedades e campos
  • Construtores
  • Métodos
  • Encapsulamento
  • Herdança
  • Interfaces
  • Classes abstratas
  • Polimorfismo
  • Sobrescrita de métodos
  • Sobrecarga de métodos
  • Getters e setters no Groovy
  • Traits
  • Enums
  • Criando modelos de domínio para a aplicação de exemplo

Metaprogramação em Tempo de Execução e em Tempo de Compilação

  • Introdução à metaprogramação no Groovy
  • Chamada dinâmica de métodos
  • Objetos Expando
  • Manipulação de métodos e propriedades em tempo de execução
  • Categorias e extensões
  • MetaClass
  • Adicionando métodos dinamicamente
  • Interceptando chamadas de métodos
  • Transformações em tempo de compilação
  • Transformações AST comuns
  • Usando metaprogramação de forma responsável
  • Exemplos práticos de metaprogramação

Trabalhando com Builders

  • Introdução ao padrão builder
  • Builders do Groovy e seu propósito
  • Criando estruturas hierárquicas
  • Builders XML
  • Builders JSON
  • Geração de HTML e markup
  • Configurando a saída dos builders
  • Usando closures com builders
  • Criando builders personalizados
  • Aplicando builders em Linguagens Específicas de Domínio (DSL)

Acessando um Banco de Dados com Groovy

  • Conceitos de conectividade com bancos de dados
  • Conectando aplicações Groovy a bancos de dados
  • JDBC e APIs de banco de dados do Groovy
  • Configurando conexões de banco de dados
  • Executando consultas SQL
  • Lendo resultados de consultas
  • Inserindo, atualizando e excluindo dados
  • Consultas parametrizadas
  • Transações
  • Tratando exceções de banco de dados
  • Trabalhando com Groovy SQL
  • Construindo funcionalidades de banco de dados para a aplicação de exemplo

Chamando Java a partir do Groovy

  • Interoperabilidade entre Groovy e Java
  • Usando classes Java no Groovy
  • Chamando métodos Java
  • Trabalhando com bibliotecas Java
  • Usando coleções Java
  • Tratando exceções Java
  • Sintaxe Groovy comparada com a sintaxe Java
  • Chamando código Groovy a partir do Java
  • Misturando arquivos de origem Groovy e Java
  • Integrando o Groovy em aplicações Java existentes
  • Boas práticas de interoperabilidade

Conectando a Serviços e Aplicações REST

  • Introdução às APIs REST
  • Conceitos HTTP para aplicações Groovy
  • Enviando requisições HTTP
  • Tratando operações GET, POST, PUT e DELETE
  • Trabalhando com parâmetros e cabeçalhos de requisição
  • Processando respostas JSON
  • Construindo corpos de requisição JSON
  • Tratando autenticação
  • Gerenciando erros HTTP
  • Consumindo serviços REST externos
  • Integrando funcionalidades REST na aplicação de exemplo

Trabalhando com o GDK

  • Introdução ao Groovy Development Kit
  • APIs Java aprimoradas
  • Trabalhando com strings
  • Coleções aprimoradas
  • Operações com arquivos e diretórios
  • Lendo e escrevendo arquivos
  • Trabalhando com streams
  • Processando XML
  • Processando JSON
  • Trabalhando com datas e horas
  • Métodos utilitários e APIs de conveniência
  • Selecionando funcionalidades adequadas do GDK

Teste Unitário de uma Aplicação Groovy

  • Introdução ao teste de aplicações Groovy
  • Conceitos de desenvolvimento orientado a testes
  • Escrevendo testes unitários
  • Usando frameworks de teste
  • Estruturando classes de teste
  • Aserções
  • Testando classes e métodos
  • Testando closures
  • Testando exceções
  • Mockando dependências
  • Teste orientado a dados
  • Testando funcionalidades relacionadas a banco de dados
  • Testando integrações REST
  • Executando e analisando resultados de testes

Solução de Problemas (Troubleshooting)

  • Diagnosticando erros de sintaxe do Groovy
  • Depurando erros em tempo de execução
  • Tratando problemas de compilação
  • Solucionando problemas de interoperabilidade com Java
  • Depurando closures e operações de coleção
  • Investigando problemas de conectividade com banco de dados
  • Solucionando problemas de integração de APIs REST
  • Depurando o comportamento de metaprogramação
  • Usando registro de logs e ferramentas de diagnóstico
  • Exercícios práticos de solução de problemas

Resumo e Conclusão

  • Revisão dos fundamentos da linguagem Groovy
  • Revisão de sintaxe, tipos e coleções
  • Revisão de closures e programação funcional
  • Revisão de programação orientada a objetos
  • Revisão de metaprogramação e builders
  • Revisão de integração com banco de dados e REST
  • Revisão da interoperabilidade entre Groovy e Java
  • Revisão das capacidades do GDK
  • Revisão das práticas de teste
  • Boas práticas para o desenvolvimento de aplicações Groovy
  • Exercício final prático
  • Perguntas e discussão

Requisitos

  • Experiência em programação em qualquer linguagem de programação
 21 Horas

Treinamento Corporativo Personalizado

Soluções de treinamento projetadas exclusivamente para empresas.

  • Conteúdo Personalizado: Adaptamos o programa e os exercícios práticos aos objetivos e necessidades reais do seu projeto.
  • Horário Flexível: Datas e horários adaptados à agenda da sua equipe.
  • Formato: Online (ao vivo), In-Company (em suas instalações) ou Híbrido.
Investimento

Preço por grupo privado, treinamento online ao vivo, a partir de 3900 € + VAT*

Entre em contato conosco para obter um orçamento preciso e conhecer nossas promoções mais recentes

Testemunhos de Clientes (1)

Próximas Formações Provisórias

Categorias Relacionadas