Publicidad

RSS Groovy

Groovy está bastante vivo, conferencias como la G3 Summit lo demuestran (resumen y opinión)

4 Comentarios
Groovy está bastante vivo, conferencias como la G3 Summit lo demuestran (resumen y opinión)

La última semana de Noviembre estuve en Fort Lauderdale, Florida, en la conferencia G3 Summit en la que dí dos charlas. Se trata de la primera edición de una conferencia centrada en Groovy, Grails y Gradle, y organizada por el mismo equipo que se encargaba de la SpringOne 2GX. Debo admitir que Miami es un muy buen lugar para organizar una conferencia a finales de Noviembre. Pasar de los 8ºC y la lluvia de Madrid a los más de 25ºC y el sol de Miami es algo de agradecer.

La agenda incluía más de 50 charlas y a los principales líderes de los distintos proyectos del ecosistema Groovy. En G3 Summit estuvieron presentes tanto Graeme Rocher, líder del proyecto Grails como Jeff Brown, co-fundador del mismo framework; Guillaume Laforge líder de Groovy o Ken Kousen de Groovy Podcast y autor del libro Making Java Groovy.

Leer más »

Nueve anotaciones de Groovy que te harán la vida más fácil al desarrollar

Comentar
Nueve anotaciones de Groovy que te harán la vida más fácil al desarrollar

Los desarrolladores somos vagos. Es un hecho. Si podemos solucionar un problema escribiendo menos código y la solución es eficiente, mantenible, legible,... vamos a optar por ella sin pensarlo. Escribir menos código significa menos bugs, menos código que manterner y menos código que testear.

Después de haber aprendido en el artículo anterior la teoría sobre la metaprogramación en compile-time con Groovy en esta ocasión vamos a ver qué transformaciones nos ofrece Groovy out-of-the-box para hacernos la vida más fácil a la hora de desarrollar.

Leer más »
Publicidad

Metaprogramación en compile-time con Groovy

Comentar
Metaprogramación en compile-time con Groovy

En el anterior artículo sobre Metaprogramación en runtime con Groovy explicamos qué es la metaprogramación y vimos las distintas técnicas que ofrece Groovy de metaprogramación en runtime.

En esta ocasión lo que vamos a aprender son las distintas posibilidades de metaprogramación en tiempo de compilación. Este tipo de técnicas lo que nos van a permitir es intervenir durante las distintas fases de compilación y, de esta forma, generar código en tiempo de compilación.

Leer más »

Metaprogramación en runtime con Groovy

15 Comentarios
Metaprogramación en runtime con Groovy

Una de las características que hacen de Groovy un lenguaje tan potente es su capacidad de Metaprogramación. El hecho de que sea un lenguaje dinámico (opcionalmente como ya vimos) hace que podamos postponer hasta tiempo de ejecución ciertas comprobaciones y decisiones que normalmente se harían en tiempo de compilación. Así podremos interceptar, inyectar e incluso sintetizar nuevas clases y métodos bajo demanda en tiempo de ejecución.

La metaprogramación es una técnica avanzada que básicamente nos permite escribir código que escribe código. Este tipo de técnicas, que a priori pueden no significar nada, hacen que podamos resolver nuestros problemas con un enfoque distinto y en ocasiones la solución puede ser mucho más elegante, eficiente y adecuada que si usamos un enfoque más tradicional.

Si eres desarrollador Java probablemente te vengan a la cabeza reflection, programación orientada a aspectos o incluso manipulación de bytecode o generación de código y pienses que esto es algo muy complicado, ¡nada más lejos de la realidad!
En este artículo nos vamos a centrar en la Metaprogramación en Runtime de Groovy, veremos qué es, cómo y por qué funciona en Groovy y explicaremos las distintas técnicas con ejemplos de código para que todo se entienda mejor.

Leer más »

Kotlin desde el punto de vista de un desarrollador Groovy

13 Comentarios
Kotlin desde el punto de vista de un desarrollador Groovy

Últimamente se está oyendo hablar cada vez más de Kotlin en el entorno de la JVM. Los desarrolladores Java y sobre todos los desarrolladores Android están entusiasmados con este nuevo lenguaje que promete ser una revolución para ellos.

Pero, ¿qué supone Kotlin realmente para un desarrollador Groovy? En GenbetaDev ya hemos hablado anteriormente tanto de Kotlin como de Groovy, así que si quereis conocer más en detalle ambos lenguajes os recomiendo echar un vistazo a ambos artículos. En esta ocasión os voy a contar mi experiencia desde el punto de vista de un desarrollador Groovy al usar (y aprender) Kotlin durante una semana.

¿Estás prepado? ¡Qué comience el combate!

Leer más »

SDKMAN!: Un gestor de SDKs para dominarlos a todos

6 Comentarios
SDKMAN!: Un gestor de SDKs para dominarlos a todos

¿Trabajas en entornos de la JVM y a menudo tienes que cambiar de versión de los distintos SDKs? ¿Programas en Ceylon, Groovy, Kotlin o Scala?, ¿generas tus builds con Ant, Maven, Gradle o SBT?, ¿eres de Spring Boot, Grails o Vert.x? Entonces SDKMAN! es para ti.

SDKMAN! es una herramienta para manejar múltiples versiones de distintos SDKs en sistemas Unix (aunque también existe una versión alternativa para Windows). Proporciona una interfaz de línea de comandos y un API para instalar, cambiar, eliminar y mostrar la lista de candidatos. Anteriormente se conocía como GVM: Groovy enVironment Manager porque sólo se centraba en herramientas relacionadas con el ecosistema Groovy pero desde hace más de un año sirve para instalar más herramientas, SDKs y lenguajes de la JVM.

En este artículo veremos cómo instalarlo, utilizarlo y sacarle partido y además hablaremos con Marco Vermeulen, su creador, que amablemente nos ha respondido unas preguntas sobre SDKMAN!

Leer más »
Publicidad

Mejora tu código Java usando Groovy

20 Comentarios
Mejora tu código Java usando Groovy

¿Y por qué querríamos mejorar nuestro código Java? Seguro que en más de una ocasión escribiendo Java has pensado que es muy verboso o que seguro que tiene que haber una forma más fácil y sencilla de hacer esto. En ese caso, Groovy es para ti.

Apache Groovy es un lenguaje dinámico, opcionalmente tipado, con posibilidad de tipado y compilación estáticos para la JVM. Tiene como objetivo multiplicar la productividad de los desarrolladores gracias a una sintaxis concisa, familiar y fácil de aprender. Se integra sin problemas con cualquier programa Java e inmediatamente proporciona a una aplicación poderosas características como scripting, DSLs, metaprogramación en runtime y compile-time y programación funcional.

Leer más »

Una nueva etapa para Groovy y Grails sin Pivotal, su principal patrocinador

1 Comentario
Una nueva etapa para Groovy y Grails sin Pivotal, su principal patrocinador

Teníamos ganas de hablar del increíble ecosistema que había empezado a coleccionar Pivotal. No sólo con productos software propios, fruto del spinoff surgido entre VMware and EMC, sino de los proyectos Open Source que patrocina que van desde Spring Framework, Redis, Hadoop, RabbitMQ o Groovy y Grails.

Lamentablemente estos dos últimos son noticia debido al anuncio de que Pivotal deja de sponsorizar a Groovy y Grails después de años de exitosos retos conseguidos. Así que para estos proyectos comienza una nueva etapa en busca de financiación. Una pena.

Leer más »

Diez tecnologías que los javeros amamos (o al menos hablamos bien de ellas)

6 Comentarios
Diez tecnologías que los javeros amamos (o al menos hablamos bien de ellas)

Siempre que lees un informe que “intenta” predecir tendencias de futuro o que analiza estadísticas/encuestas hay que cogerlo con pinzas. Hace unos días cayó en mis manos el informe Geek Choice Award 2014 realizado por RebelLabs. El objetivo era seleccionar ese puñado de tecnologías que han marcado y siguen marcando la forma de desarrollar para un programador, en este caso Javero, aunque veréis que hay tecnologías para los que no lo sean.

¿Cuáles son ese puñado de tecnologías que “amas”? Entendamos amar como que al menos no te sacan de quicio todos los días y han influido en la forma de desarrollar software. El estudio basa su leitmotiv en tres puntos valiosos: cuota de mercado, feedback positivo en diversas encuestas, el ruido mediático que hacen (noticias, tweets, presencia en conferencias) y, por supuesto, las experiencias de los desarrolladores con esas tecnologías.

Obviamente, todas tienen que aportar un valor: resolver problemas, hacer más eficiente la tarea de desarrollar y reimaginar algo ya preestablecido para hacerlo mejor. Sin duda, son buenas caracteristicas.

De entre todas, 10 son las elegidas. La podemos llamar “modern technologies” que siempre suena mejor, aunque son tecnologías muy presentes y algunas de ellas ya llevan una década aportando valor.

Leer más »

Lista por comprensión

3 Comentarios
Lista por comprensión

¿Recuerdan de las definiciones matemáticas de por ejemplo números pares o múltiplos que veíamos en la escuela? por ejemplo la definición de los números pares mayores a 10 sería así:

s = { 2 * x | x € N, 2 * x > 10 }

Esto se lee como los números pares (2*x) que pertenecen (€) a los números naturales (N) y que sean mayores que 10. La parte anterior al separador se llama la función de salida, x es la variable, N es el conjunto de entrada y 2 * x > 10 es el predicado.

Leer más »
Publicidad
Inicio