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. 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. Checagem de valores
retornados
http://www.infoq.com/br/articles/new-groovy-20 (Guillaume Laforge)
sábado, 8 de setembro de 12
11. Conversão comum de tipos
Inferência de tipos
sábado, 8 de setembro de 12
12. Características dinâmica e
métodos de tipagem
estática
Markup Builder é um
criador de XML do
Grov vy
sábado, 8 de setembro de 12
13. Mais um pouco de inferência
de tipos...
sábado, 8 de setembro de 12
14. Lowest Upper Bound
(Mínimo Limite superior)
Que loco!
sábado, 8 de setembro de 12
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âmica
sábado, 8 de setembro de 12
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. 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