14. Historia
29/03/2004
29/08/2003 Se aprueba 07/12/2007
Nacimiento la JSR 241 Versión 1.5
16/03/2004 02/01/2007 Actualmente
Propuesta Versión 1.0 Versión 1.8.#
JSR 241 y beta de 2
23. Groovy Truth
• Boolean
• Cosas que son false
– Colecciones vacías(listas, maps)
– Iteradores y enumeradores sin mas
elementos
– Strings vacios
– Matchers de regex que no coinciden (=~)
– Cero
– null
33. GroovyBeans (2)
• Con access modifier
– Field
• Sin access modifier
– Field privado
– Mas getter y setter públicos (una property)
• Se pueden sobreescribir
• Property final
– Field privado como final
– Solo getter
44. Usar Groovy en:
• Integración de componentes
• Modelos de negocio muy dinámicos
• Pruebas de concepto
• Proyectos rápidos y chicos
• Scripting
45. No usar Groovy en:
• Algoritmos complejos
– Cálculos intensivos
• Manejo de grandes cantidades de datos
– Problema con creación de objetos por ser dinámico
• Sistemas con
– Requerimientos bien definidos
– Pocas posibilidades de evolución
• Proyectos muy grandes
46. No trabajen
duro.
Trabajen de forma
inteligente!
29/08/2003: James Strachan hace un post en su blog dándole nacimiento a Groovy.16/03/2004: se propone al JCP, bajo la JSR 241 la especificación de Groovy dentro de la JVMJava Specification Request241: The Groovy Programming Language29/03/2004: se aprueba de forma unánime por todo el comité. La especificación se larga con una licencia estilo BSD / Apache02/01/2007: se lanza la versión 1.0 y durante este año Groovy gana el premio JAX al proyecto más innovador y creativo del año.
// Ahora vemos que cambiando la variable cambiamos el closure
An Expando is different from a map in that you can provide synthetic methods that you can call on the object.The player.greeting assignment passes in a closure to execute when greeting() is called on the Expando. Notice that the closure has access to the properties assigned to the Expando, even though these values may change over time, using Groovy's GString "$variableOrProperty" notation.
Builders are based on the builder pattern from the GOF design pattern book. It provides a way to build your own DSL and represents a powerful concept in Groovy