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 script e programação
  • Casos de uso comuns do Groovy
  • Groovy em projetos baseados em Java
  • Vantagens de usar Groovy junto com 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
  • Collections do Groovy e APIs aprimoradas
  • Sobrecarga de operadores
  • Interpolação de strings
  • Navegação segura e operador Elvis
  • Desenvolvimento de Linguagens Específicas de Domínio (DSL)
  • Capacidades de meta-programação
  • Groovy Development Kit (GDK)

Configurando o Ambiente de Desenvolvimento

  • Instalando e configurando o Groovy
  • Trabalhando com distribuições do Groovy
  • Usando o Groovy pela linha de comando
  • Executando scripts Groovy
  • Configurando uma IDE
  • Criando um projeto Groovy
  • Gerenciando dependências
  • Integrando Groovy com projetos Java
  • Configurando o ambiente de desenvolvimento para contêineres

Escrevendo sua Primeira Aplicação em Groovy

  • Criando um script Groovy básico
  • Compreendendo 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 em Groovy
  • Pontos e vírgulas e elementos de sintaxe opcionais
  • Variáveis e constantes
  • Tipagem dinâmica e explícita
  • Strings literais e interpolação
  • Strings de uma linha e múltiplas linhas
  • Operadores e expressões
  • Operadores e atalhos do Groovy
  • Tratamento de valores nulos (null)
  • Navegação segura
  • Operador Elvis
  • Atribuição múltipla

Usando Tipos de Dados e Collections do Groovy

  • Tipos primitivos e de objeto
  • Números e operações numéricas
  • Strings e caracteres
  • Booleanos
  • Datas e valores relacionados a tempo
  • Listas (Lists)
  • Mapas (Maps)
  • Conjuntos (Sets)
  • Intervalos (Ranges)
  • Iterando sobre collections
  • Transformações de collections
  • Filtrando e pesquisando collections
  • Ordenando e agrupando dados
  • Métodos de collection do Groovy

Usando Closures do Groovy

  • Compreendendo 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 collections
  • 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 específicos de controle de fluxo 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
  • Sobrescritura de métodos
  • Sobrecarga de métodos
  • Getters e setters do Groovy
  • Traits
  • Enums
  • Criando modelos de domínio para a aplicação de exemplo

Meta-programação em Tempo de Execução e em Tempo de Compilação

  • Introdução à meta-programaçã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 meta-programação de forma responsável
  • Exemplos práticos de meta-programação

Trabalhando com Builders

  • Introdução ao padrão builder
  • Builders do Groovy e seu propósito
  • Criando estruturas hierárquicas
  • Builders de XML
  • Builders de 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

Acessando um Banco de Dados com Groovy

  • Conceitos de conectividade de banco 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 collections Java
  • Tratando exceções Java
  • Sintaxe do Groovy comparada à sintaxe do Java
  • Chamando código Groovy a partir do Java
  • Misturando arquivos de código-fonte Groovy e Java
  • Integrando 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 de 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
  • Collections aprimoradas
  • Operações de arquivos e diretórios
  • Lendo e escrevendo arquivos
  • Trabalhando com streams
  • Processando XML
  • Processando JSON
  • Trabalhando com datas e horários
  • Métodos utilitários e APIs de conveniência
  • Selecionando a funcionalidade GDK apropriada

Testes Unitários 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
  • Testes orientados a dados
  • Testando funcionalidades relacionadas a banco de dados
  • Testando integrações REST
  • Executando e analisando resultados de testes

Solução de Problemas (Troubleshooting)

  • Diagnóstico de erros de sintaxe Groovy
  • Depuração de erros em tempo de execução
  • Tratamento de problemas de compilação
  • Solução de problemas de interoperabilidade Java
  • Depuração de closures e operações de collection
  • Investigação de problemas de conectividade de banco de dados
  • Solução de problemas em integrações de API REST
  • Depuração do comportamento de meta-programação
  • Usando ferramentas de log e diagnóstico
  • Exercícios práticos de solução de problemas

Resumo e Conclusão

  • Revisão dos fundamentos da linguagem Groovy
  • Revisão da sintaxe, tipos e collections
  • Revisão de closures e programação funcional
  • Revisão da programação orientada a objetos
  • Revisão de meta-programação e builders
  • Revisão da integração de 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 desenvolvimento de aplicações Groovy
  • Exercício hands-on final
  • Perguntas e discussão

Requisitos

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

Número de participantes


Preço por participante

Testemunhos de Clientes (1)

Próximas Formações Provisórias

Categorias Relacionadas