3. Roteiro
O que é Groovy?
Instalação e Configuração
Groovy Shell / Groovy Console
Tudo é um Objeto
Sintaxe Nativa
Classes, atributos
Lists, Maps, Ranges
GStrings
@lucas_aquiles
4. O Que é Groovy
Instalação e Configuração
Download da última versão do Groovy 1.8
http://groovy.codehaus.org/Download
Configure o GROOVY_HOME
Adicione ao $PATH
$GROOVY_HOME/bin
O JAVA_HOME precisa está definido
@lucas_aquiles
5. O que é Groovy?
Linguagem Dinâmica para JVM
Um mixe de boas ideias do Ruby, Phyton,
SmallTalk
Totalmente OO
Alta Curva de Aprendizagem
Encapsula recursos do Java5
Annotations, Generics, Enums, static import ...
@lucas_aquiles
6. O que é Groovy
Fácil integração com libs Java
Compila diretamente para Bytecode
@lucas_aquiles
7. O que é Groovy?
É a alegria do desenvovedor Java
@lucas_aquiles
16. Sintaxe
Classe, Atributos
A tipagem dos atributos é feita dinamicament
; é opcional
getters e setters são injetados automaticamente
Assinar multiplas variáveis
return é opcional
@lucas_aquiles
17. Sintaxe
Lists L
def lista = [1,2,3,5]
Maps
def map = [pi:'piauí',ce:'ceará']
Ranges
@lucas_aquiles
18. Sintaxe
GStrings
São Strings Interpoladas
Uso do $ entre áspas duplas
“${nomeDaVariavel}”
@lucas_aquiles
19. Sintaxe
Closure
Bloco de código executável e reusável
Ou apénas funções anônimas
def clousure = {
println “clousure”
}
Ex: clousure()
@lucas_aquiles
20. Sintaxe
Closure
Pode receber parâmetros
A variável it
Pode ser passad como parâmetro
@lucas_aquiles
21. Builders
Possui um construtor de macação
Fácil para criar arquivos xml e html
exemplo
Fácil para ler arquivos xml e html
exemplo
@lucas_aquiles
22. Metaprogramação
Capacidade da classe se alterar em tempo de
execução
injetar um comportamento em tempo de
execução
mudar o comportamento de um tipo em tempo
de execução
@lucas_aquiles
23. MetaProgramação
MetaClass
Muda o tempo de um tipo em tempo de execução
Mixin
Injeta um comportamento à um tipo em tempo de
execução
@lucas_aquiles