¿Qué es Groovy?
Groovy es un lenguaje dinámico, que está en marcado contraste con el sistema de tipo estático con el que probablemente estés familiarizado en Java. Las aplicaciones de Groovy se compilan completamente en el código de bytes JVM (Java Virtual Machine), lo que significa que el código de Groovy se ejecutará felizmente dentro del entorno de Java, también aporta conceptos avanzados a la JVM, como programación funcional, metaprogramación, así como un excelente soporte para procesar JSON y Archivos XML
Finalmente, aunque se considera un lenguaje alternativo, goza de una gran compatibilidad en todo el ecosistema de Java, incluida la compatibilidad con IDE maduro.
Entendiendo a Groovy
- Lenguaje orientado a objetos.
- Tiene capacidades estáticas y dinámicas.
- Ofrece conceptos de programación avanzados.
- Considerado un lenguaje Java alternativo.
Ejemplos de lenguajes alternativos de Java
- Scala: que es un lenguaje estáticamente tipado, orientado a objetos y funcional,
- Clojure: este es un dialecto del lenguaje Lisp que se creó expresamente para ejecutarse en la JVM.
- Kotlin: este es un lenguaje de tipo estático que se ejecuta en la JVM que puede compilarse en código de bytes JavaScript o JVM.
La programación Polyglot es un concepto surgido en los últimos años para aprovechar realmente esta explosión en lenguajes alternativos para diferentes marcos. El concepto es simple. Podríamos considerar lenguajes más estables y predecibles en la parte inferior del cuadro, o en nuestro caso, el marco. Para el mundo JVM, esto podría incluir lenguajes estáticos como Java o Scala. A medida que avanzamos en el cuadro o en el código de la aplicación real, podríamos pensar en lenguajes más dinámicos y flexibles. Para nuestro caso, puede ser Groovy, Clojure o incluso JRuby. En la parte superior de la caja, podríamos buscar DSL (Lenguaje específico de dominio) para crear la lógica empresarial clave en nuestra aplicación en la JVM, incluyendo Apache Camel DSL o Gradle, la herramienta de compilación, pero también podríamos construir nuestra propia DSL específicos de la empresa para capturar realmente las reglas de nuestro dominio empresarial.
Proceso de instalación de Groovy
Paso 1. Primero instale la herramienta SDKMAN. Que es compatible con Linux u OS X. Sin embargo, si está trabajando en una máquina con Windows. Todavía puede seguir instalando primero el emulador Cygwin UNIX. Que se puede encontrar en www.Cygwin.com
Paso 2. Abra la terminal y escriba el comando a continuación y presione enter
Paso 3. Una vez que se complete el script de ejecución, buscaremos el script de inicio SDKMAN para asegurarnos de que todo lo que SDKMAN necesita para funcionar se haya inicializado en nuestra sesión actual.
Paso 4. Finalmente, validaremos que SDKMAN se instaló con éxito al pedirle a SDKMAN su versión actual para escribir el comando sdk version y presionar enter.
Paso 4. Una vez que hayas instalado SDKMAN con éxito, puedes proceder a instalar Groovy. Puede hacer esto con el comando de instalación SDKMAN.
De hecho, depende de la JVM, lo que significa que también deberá asegurarse de tener Java instalado y disponible para que Groovy funcione correctamente.
¿Por qué se usa Groovy?
Es una sintaxis muy similar a Java, Groovy es fácilmente accesible para los desarrolladores de Java. De hecho, la mayoría de la sintaxis de Java es realmente una sintaxis legal de Groovy, ya que simplemente toma los conceptos de Java existentes y se basa en ellos. Esto le da a Groovy una curva de aprendizaje muy suave para un desarrollador que ya puede estar familiarizado con el lenguaje Java. Una de las mayores preocupaciones, cuando un equipo considera ramificarse a un nuevo idioma, es que perderán la inversión en el código propietario masivo que han construido a lo largo de los años.
Sin embargo, dada la estrecha integración de Groovy con la JVM, puede usar fácilmente sus bibliotecas Java existentes de Groovy.
Finalmente, los objetos Groovy realmente extienden el mismo objeto base java.lang.Object, por lo que encaja muy bien en el módulo orientado a objetos Java que su equipo ya puede conocer. En general, Groovy se sentirá muy familiar para un equipo de Java, especialmente en comparación con otros lenguajes alternativos como Scala o Clojure.
¿Por qué necesitamos Groovy?
Groovy funciona muy bien en la capa de desarrollo de aplicaciones, especialmente en el desarrollo web. Los marcos basados en Groovy como Grails son excelentes alternativas a los marcos web basados en Java como Stripes o Spring MVC, ya que la naturaleza dinámica de Groovy lo hace muy adecuado para trabajar con conceptos en la web.
Es muy adecuado para construir DSLs sobre frameworks Java o Groovy. Aunque también puede construir estos DSL en Java como hemos visto con Apache Camel, la naturaleza expresiva y la sintaxis flexible de Groovy le permiten crear DSL mucho más legibles de lo que alguna vez fue posible en el lenguaje Java.
La sintaxis flexible de Groovy le permite crear pruebas que son muy legibles y que podrían compartirse fácilmente con una parte interesada de la empresa para asegurarse de que su aplicación ofrezca la funcionalidad esperada.
El popular marco de prueba basado en Groovy Spock es un gran ejemplo de la sintaxis de Groovy para crear estas pruebas altamente legibles.
Su ligera sintaxis tipo script y su estrecha integración con las API de Java lo convierten en una excelente opción para escribir pequeños scripts en un entorno JVM.
Ventajas y desventajas de Groovy
Exploremos algunas de las conocidas ventajas y desventajas de Groovy.
Ventajas
- Escritura dinámica (le permite programar más rápido, al menos principalmente).
- Curry / software parcial (que le permite una réplica de la función con más de un conjunto de argumentos).
- Soporte de herramientas para obtener API útiles aplicando @DelegatesTo.
- Soporte de mapeo de matriz asociativa nativa / clave-valor (puede generar un literal de matriz asociativa).
- Interpolación de cadenas (mejor construcción entre cadenas que muestran valores).
- Regex está recibiendo residentes de primera clase.
Desventajas
- Los complementos de Groovy (conclusión del programa, coloración de sintaxis), alrededor de Eclipse, siguen siendo increíblemente defectuosos.
- No hay formato de código base para Groovy: esto puede ser un inconveniente real para Groovy actualmente. En caso de que esté trabajando en un grupo, esto podría ser un dolor de cabeza: leer el programa basado en un formato, la evaluación de CVS puede ser difícil, algunos ejemplos para decir.
- Debes aprender que las nuevas ideas prefieren: los cierres, ¡lo que se beneficiará una vez que los entiendas! Sin cierres, no puede aplicar clases internas en Groovy que son principalmente pruebas unitarias esencialmente escritas.
¿Cómo le ayudará esta tecnología a hacer crecer su carrera?
Groovy Framework es ampliamente utilizado en la mayoría de las corporaciones multinacionales como Netflix, Samsung a través de Smart Things, Mutual of Omaha, Target y mucho más.
Groovy tiene sus propios buenos lugares especiales en lo que respecta a la utilización, por ejemplo, encontramos muchos proyectos, así como productos que incorporan a Groovy para transmitir sus protocolos de organización o simplemente la lógica empresarial en un estilo extremadamente comprensible, un tema que también es importante Los especialistas tienen la capacidad de crear protocolos por sí mismos sin mucho apoyo de los programadores.
Conclusión
Parecen buenos recuerdos con solo dejar huellas, cuando ha estado codificando en Java o en lenguajes OOP adicionales, durante mucho tiempo.
Crea cosas mucho más simples y mucho menos detalladas. Además de que más funciones prefieren las secuencias de comandos y simplemente las funciones de lenguaje específico del dominio, empuja a Groovy al nuevo nivel y le proporciona el nuevo aspecto que falta para los idiomas más antiguos.
Artículos recomendados
Esta ha sido una guía de ¿Qué es Groovy? Aquí discutimos el concepto, las necesidades, la comprensión, las ventajas, las desventajas y el proceso de instalación de Groovy. También puede consultar nuestros otros artículos sugeridos para obtener más información.
- ¿Qué es el JMS?
- Introducción a Tensorflow
- ¿Python es un lenguaje de script?
- ¿Qué es la aplicación web?
- Funciones de expresiones regulares en Python (ejemplo)