Novidades Groovy 2.0

1.690 visualizações

Publicada em

Apresentação que fiz para a equipe Bluesoft sobre as novidades do Grovvy 2.0

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
1.690
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.143
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Novidades Groovy 2.0

  1. 1. Novidades do Groovy 2.0 por Ismael Soares @ismaelsoareszsábado, 8 de setembro de 12
  2. 2. Referência Esta é um resumo escrito por publicado na Guillaume Laforgesábado, 8 de setembro de 12
  3. 3. Funcionalidades Estáticas Verificação estática de tipos Compilação estáticasábado, 8 de setembro de 12
  4. 4. Outras melhorias relacionadas a JDK 7 Melhorias de sintaxe Suporte a instrução da JVMsábado, 8 de setembro de 12
  5. 5. =sábado, 8 de setembro de 12
  6. 6. Por que? Java em linguagem dinâmica Menos código repetitivo Facilmente integrável ao Javasábado, 8 de setembro de 12
  7. 7. Melhoriassábado, 8 de setembro de 12
  8. 8. @TypeChecked -> Pode ser utilizado na classe ou em apenas alguns métodos específicos -> Caso opte por utilizar na classe e queira colocar um método como exceção basta passar o parâmetro (SKIP) -> O Groovy utiliza um mecanismos de transformação AST (Árvore de Sintaxe Abstrata)sábado, 8 de setembro de 12
  9. 9. Identificação de erros de validação http://www.infoq.com/br/articles/new-groovy-20 (Guillaume Laforge)sábado, 8 de setembro de 12
  10. 10. Checagem de valores retornados http://www.infoq.com/br/articles/new-groovy-20 (Guillaume Laforge)sábado, 8 de setembro de 12
  11. 11. Conversão comum de tipos Inferência de tipossábado, 8 de setembro de 12
  12. 12. Características dinâmica e métodos de tipagem estática Markup Builder é um criador de XML do Grov vysábado, 8 de setembro de 12
  13. 13. Mais um pouco de inferência de tipos...sábado, 8 de setembro de 12
  14. 14. Lowest Upper Bound (Mínimo Limite superior) Que loco!sábado, 8 de setembro de 12
  15. 15. Fluxo de Tipagemsábado, 8 de setembro de 12
  16. 16. Fluxo de Tipagem Inteiro não tem UpperCase Zé!sábado, 8 de setembro de 12
  17. 17. Um pouco mais de fluxo de Tipagem...sábado, 8 de setembro de 12
  18. 18. Um pouco mais de fluxo de Tipagem... Você alterou a Variável. Agora me perdi!sábado, 8 de setembro de 12
  19. 19. @CompileStaticsábado, 8 de setembro de 12
  20. 20. Compilação estática Melhora na performance Bytecode igual ao gerado no javacsábado, 8 de setembro de 12
  21. 21. JDK 7sábado, 8 de setembro de 12
  22. 22. Literais bináriassábado, 8 de setembro de 12
  23. 23. Uso underline em númerossábado, 8 de setembro de 12
  24. 24. Múltiplos blocos de catchsábado, 8 de setembro de 12
  25. 25. Suporte a Invoke Dynamic Nova instrução de bytecode Auxiliar desenvolvimento de linguagens dinâmicas sobre JVM Chamadas de métodos dinâmicas podem ser colocadas em cache O Groovy tem implementações próprias otimizadas para acelerar a invocação dinâmicasábado, 8 de setembro de 12
  26. 26. Groovy Modularsábado, 8 de setembro de 12
  27. 27. O Groovy não é apenas uma linguagem! Ant: para scripts do Ant, automatizando tarefas administrativas; • BSF: para integração do Groovy em aplicações Java com o velho Apache Bean Scripting Framework; • Console: módulo contendo o console do Groovy Swing; • GroovyDoc: para documentar suas classes Groovy e Java; • Groovysh: módulo correspondente ao terminal de linha de comando Groovysh; • JMX: para expor e consumir beans JMX; • JSON: para produzir e consumir informações no formato JSON; • JSR-223: para integrar o Groovy às aplicações Java através da API javax.scripting do JDK 6 ou superior; • Servlet: para escrever e disponibilizar templates e scripts de servlets do Groovy; • SQL: para consultar bases relacionais; • Swing: para construção de interfaces gráficas usando o Swing; • Templates: para uso do mecanismo de templates; • Test: para suporte a testes, como o GroovyTestCase, mocking e mais; • TestNG: para escrever testes usando o TesteNG no Groovy; • XML: para produzir e consumir documentos em XML.sábado, 8 de setembro de 12
  28. 28. Módulos de extensão Como o Groovy foi dividido em módulos menores, foi criado um mecanismo para que módulos possam contribuir com métodos de extensão. Dessa forma, esses módulos podem fornecer métodos de instância e métodos estáticos para outras classes, incluindo classes do JDK e de bibliotecas de terceiros.sábado, 8 de setembro de 12
  29. 29. Que loco!sábado, 8 de setembro de 12
  30. 30. Decorando com métodos estáticossábado, 8 de setembro de 12
  31. 31. Configuração módulo de extensão -> Criar arquivo no META-INF/services org.codehaus.groovy.runtime.ExtensionModulesábado, 8 de setembro de 12
  32. 32. ?sábado, 8 de setembro de 12
  33. 33. Obrigadosábado, 8 de setembro de 12

×