Mergulhando em Groovy

1 – Introdução

Objetivo: apresentar a linguagem Groovy e seu ecossistema para os alunos.

Veremos o essencial da sintaxe, suas principais diferenças em relação ao Java e suas similaridades com outras linguagens de programação. Além disto, o aluno também conhecerá parte do ecossistema que existe hoje envolvendo a linguagem apresentando uma série de projetos de código fonte abertos baseados na mesma.

  • Exposição do curso e do que será exposto
  • Apresentação da linguagem Groovy e seu ecossistema.
  • Sintaxe essencial
    • Apresentação do ferramental essencial
    • Similaridades e diferenças em relação a outras linguagens.
    • Estruturas de controle
    • Declaração de variáveis
    • Lidando com strings
    • Escrevendo scripts
    • Lidando com coleções
    • Compilação e distribuição de programas Groovy
    • Acessando código Java (ou qualquer bytecode)

2 – Orientação a Objetos com Groovy

Objetivo: apresentar o modo como a orientação a objetos é implementada em Groovy.

Groovy ao contrário do Java é uma linguagem puramente orientada a objetos. Nesta aula entenderemos melhor isto e também conheceremos diversos aspectos da linguagem que, aplicados a este paradigma de programação, aumentam significativamente a produtividade do desenvolvedor.

  • POGO – Plain Old Groovy Objects – JavaBeans como sempre deveriam ter sido!
  • Traits
  • Padróes de projeto com Groovy

3 – Groovy Dinâmico

Objetivo: possibilitar ao aluno dominar os conceitos e ténicas de metaprogramação e tipagem dinâmica e estática.

Uma das principais vantagens do Groovy é sua natureza dinâmica. Nesta aula entenderemos o que o programador ganha com este aspecto da linguagem e como tirar máximo proveito dele.

  • Tipagem dinâmica vs estática: Groovy oferece suporte aos dois, saiba como tirar proveito de ambos.
  • Inclusão e substituição de atributos e métodos em tempo de execução.
  • Lidando com a ausência de atributos e métodos.
  • Interceptação de métodos. AOP nunca foi tão fácil!
  • Invocação dinâmica de métodos
  • Closures
  • Sobrescrita de operadores

4 – Embarcando Groovy

Objetivo: ensinar ao aluno como embarcar Groovy em seus projetos Java (ou qualquer outra linguagem que seja executada na JVM)

Um dos principais usos de Groovy é como linguagem embarcada. Nesta aula aprenderemos como embutir Groovy em seus projetos Java e, com isto enriquecer suas aplicaç&oes permitindo, dentre outras coisas, a execução de scripts ou mesmo a possibilidade de possibilitar a seus usuários finais expandirem seus projetos!

  • Como embarcar Groovy em seus projetos Java
  • Obtendo máximo desempenho do código Groovy embarcado
  • Garantindo a segurança dos seus sistemas
  • Padróes de embarcamento Groovy

5 – Groovy para administradores de sistemas

Objetivo: Groovy é uma excelente alternativa para administradores de sistemas que precisem executar tarefas administrativas em servidores. Nesta aula ensinaremos algumas ténicas interessantes que aumentarão bastante a sua produtividade nesta tarefa.

  • Como configurar o Groovy em servidores Linux e Windows
  • Reduzindo o tempo de inicialização dos seus scripts com GServe
  • Enriquecendo o classpath da sua aplicação
  • Executando scripts com segurança