En el mundo de los profesionales TI existen una gran variedad de tecnologías que es posible aprender y dominar, así que vale la pena darle un vistazo a éstas para conocer su relevancia y conocer qué tienen para ofrecer en el día a día laboral.
La tecnología que abordaremos es un lenguaje de programación, que ofrece ventajas únicas para los programadores: Groovy. Se trata de un lenguaje de programación dinámico orientado a objetos para la máquina virtual Java (JVM, por sus siglas en inglés) que se puede usar en cualquier plataforma que use Java. Este lenguaje se puede usar para combinar módulos Java, extender las aplicaciones Java existentes y escribir nuevas aplicaciones.
Aunque ha perdido un poco de popularidad, de acuerdo al índice TIOBE, aún se mantiene en el interés de la industria, ya que se utiliza en algunos proyectos para LinkedIn, Netflix, Target, Disney, Google, Amazon, etc. Está en el SDK de Android.
El concepto Groovy fue introducido en 2003 por James Strachan. Las versiones beta se pusieron a disposición del 2004 al 2006. La versión 1.0 se lanzó en enero de 2007 y la versión 1.1 se lanzó en diciembre de 2007. Groovy está en proceso de estandarización bajo la Solicitud de especificación de Java 241. El gerente del proyecto es Guillaume Laforge.
Los 15 años de Groovy en el mercado hace que sea compatible con una amplia gama de marcos. Tan sólo unos años atrás, uno de los marcos más populares que construía la posición de Groovy era Grails, un marco web de pila completa que todavía está desarrollado activamente.
En 2014, Spring Boot se lanzó y comenzó a ganar popularidad, también le permite utilizar Groovy como una alternativa para Java. Si buscó un marco ligero y extremadamente eficiente, es posible que haya oído hablar de Ratpack, que se originó como un marco de Groovy y, aunque es un JDK8 +, aún es compatible con Groovy hasta el día de hoy.
Si estás interesado en las arquitecturas de microservicios, quizás haya escuchado acerca de la herramienta más reciente en el ecosistema: Micronaut, que gana popularidad mientras aún es 1.0.0 M4 en septiembre de 2018. Y si esto no es suficiente, puede usar Griffon, un marco para el desarrollo de aplicaciones de escritorio. Y por no mencionar a Gradle: esta es en realidad una herramienta de compilación y no un marco, pero su popularidad y crecimiento constante mantienen a Groovy en el radar (aunque también es compatible con Kotlin DSL).
Groovy va más allá de los marcos, ya que simplifica las pruebas unitarias y automatizadas. Una de las herramientas más utilizadas para trabajar es Spock Framework. Hace que las pruebas unitarias de escritura (llamadas «especificaciones») sean 10 veces más fáciles y más agradables en comparación con JUnit, TestNG o cualquier otra cosa que se le ocurra.
También está Geb, una solución de automatización del navegador Groovy que hace que escribir escenarios de prueba E2E sea lo más fácil posible. Se ejecuta en modo de navegador, produce informes de prueba en unos pocos formatos útiles y lo que es más importante: es muy fácil de usar y escribe su primera prueba de automatización del navegador.
Si te gustan los lenguajes dinámicos con un sistema de tipos fuerte, Groovy es bueno para elegir. Puedes confiar únicamente en la inferencia de tipos y aprovechar la metaprogramación que hace que su código sea tan DSL como sea posible.
O puede activar la compilación estática y la comprobación de tipos si desea indicar al compilador Groovy que produzca un código de bytes bastante similar al de Java (también es casi tan eficiente como el código de bytes de Java). Y por último, puede deshacerse de toneladas de código repetitivo y concentrarse solo en lo que es más importante en su trabajo diario: brindar soluciones a los problemas de la vida real.