Groovy

848 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
848
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
18
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Groovy

  1. 1. Introdução ao Groovyconceitos básicos da linguagem Lucas Aquiles - @lucas_aquiles @lucas_aquiles
  2. 2. Lucas Aquileslucasaquiles.com.br/bloglucasaquiles@gmail.com@Lucas_Aquiles @lucas_aquiles
  3. 3. RoteiroO que é Groovy? Instalação e ConfiguraçãoGroovy Shell / Groovy ConsoleTudo é um ObjetoSintaxe Nativa Classes, atributos Lists, Maps, Ranges GStrings @lucas_aquiles
  4. 4. O Que é GroovyInstalaçã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/binO JAVA_HOME precisa está definido @lucas_aquiles
  5. 5. O que é Groovy?Linguagem Dinâmica para JVMUm mixe de boas ideias do Ruby, Phyton, SmallTalkTotalmente OOAlta Curva de AprendizagemEncapsula recursos do Java5 Annotations, Generics, Enums, static import ... @lucas_aquiles
  6. 6. O que é GroovyFácil integração com libs JavaCompila diretamente para Bytecode @lucas_aquiles
  7. 7. O que é Groovy?É a alegria do desenvovedor Java @lucas_aquiles
  8. 8. Quem programa em Groovy? @lucas_aquiles
  9. 9. Ok, então você programa em Java? @lucas_aquiles
  10. 10. SimTodo desenvolvedor Groovy é um Desenvolvedor JavaE todo Desenvovedor Java é um desenvolvedor Groovy @lucas_aquiles
  11. 11. Um código Java @lucas_aquiles
  12. 12. Um código Groovy válido @lucas_aquiles
  13. 13. Um Groovier code! @lucas_aquiles
  14. 14. Groovy Shell / Groovy Console groovyConsolegroovysh @lucas_aquiles
  15. 15. Tudo é um objeto Demonstração! @lucas_aquiles
  16. 16. SintaxeClasse, Atributos A tipagem dos atributos é feita dinamicament ; é opcional getters e setters são injetados automaticamente Assinar multiplas variáveis return é opcional @lucas_aquiles
  17. 17. SintaxeLists L def lista = [1,2,3,5]Maps def map = [pi:piauí,ce:ceará]Ranges @lucas_aquiles
  18. 18. SintaxeGStrings São Strings Interpoladas Uso do $ entre áspas duplas “${nomeDaVariavel}” @lucas_aquiles
  19. 19. SintaxeClosure 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. 20. SintaxeClosure Pode receber parâmetros A variável it Pode ser passad como parâmetro @lucas_aquiles
  21. 21. BuildersPossui 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. 22. MetaprogramaçãoCapacidade da classe se alterar em tempo de execuçãoinjetar um comportamento em tempo de execuçãomudar o comportamento de um tipo em tempo de execução @lucas_aquiles
  23. 23. MetaProgramaçãoMetaClass Muda o tempo de um tipo em tempo de execuçãoMixin Injeta um comportamento à um tipo em tempo de execução @lucas_aquiles
  24. 24. Metaprogramação exemplos @lucas_aquiles
  25. 25. Duvidas? @lucas_aquiles

×