Solicitar información

Temario del curso

Introducción a Groovy

  • Introducción a Apache Groovy
  • Historia y evolución de Groovy
  • Groovy y la Máquina Virtual de Java
  • Groovy como lenguaje de scripting y programación
  • Casos de uso comunes de Groovy
  • Groovy en proyectos basados en Java
  • Ventajas de utilizar Groovy junto con Java
  • Visión general de la aplicación de ejemplo

Resumen de las características de Groovy

  • Tipado dinámico y tipado estático opcional
  • Capacidades de scripting de Groovy
  • Sintaxis concisa y mejoras del lenguaje
  • Cierres y programación funcional
  • Colecciones de Groovy y APIs mejoradas
  • Sobrecarga de operadores
  • Interpolación de cadenas
  • Navegación segura y operador Elvis
  • Desarrollo de Lenguajes Específicos de Dominio (DSL)
  • Capacidades de metaprogramación
  • Kit de Desarrollo de Groovy (GDK)

Configuración del entorno de desarrollo

  • Instalación y configuración de Groovy
  • Trabajo con distribuciones de Groovy
  • Uso de Groovy desde la línea de comandos
  • Ejecución de scripts de Groovy
  • Configuración de un IDE
  • Creación de un proyecto de Groovy
  • Gestión de dependencias
  • Integración de Groovy con proyectos Java
  • Configuración del entorno de desarrollo para contenedores

Escritura de su primera aplicación en Groovy

  • Creación de un script básico de Groovy
  • Comprensión de la estructura de un script de Groovy
  • Ejecución de aplicaciones de Groovy
  • Uso de la instrucción println
  • Trabajo con variables
  • Definición de métodos
  • Adición de comentarios y documentación
  • Construcción de una aplicación de ejemplo sencilla
  • Compilación de código Groovy

Familiarización con la sintaxis de Groovy

  • Enunciados y expresiones en Groovy
  • Punto y coma y elementos sintácticos opcionales
  • Variables y constantes
  • Tipado dinámico y explícito
  • Literales y interpolación de cadenas
  • Cadenas de una línea y multilínea
  • Operadores y expresiones
  • Operadores y atajos de Groovy
  • Manejo de nulos
  • Navegación segura
  • Operador Elvis
  • Asignación múltiple

Uso de tipos de datos y colecciones en Groovy

  • Tipos primitivos y de objeto
  • Números y operaciones numéricas
  • Cadenas y caracteres
  • Booleanos
  • Valores relacionados con fechas y horas
  • Listas
  • Mapas
  • Conjuntos
  • Rangos
  • Iteración sobre colecciones
  • Transformaciones de colecciones
  • Filtrado y búsqueda en colecciones
  • Ordenamiento y agrupación de datos
  • Métodos de colecciones en Groovy

Uso de cierres en Groovy

  • Comprensión de los cierres
  • Sintaxis de cierres
  • Parámetros de cierre
  • Parámetros implícitos de cierre
  • Llamada a cierres
  • Cierres como variables
  • Paso de cierres a métodos
  • Retorno de cierres desde métodos
  • Cierres y colecciones
  • Uso de cierres para filtrado y transformación
  • Ámbito y captura de variables
  • Cierres para programación funcional
  • Patrones prácticos de cierres

Control del flujo del programa con estructuras de control en Groovy

  • Enunciados condicionales
  • if y else
  • Condiciones anidadas
  • Enunciados switch
  • Bucles e iteración
  • for, while y do-while
  • Rangos en bucles
  • Uso de cierres para iteración
  • break y continue
  • Manejo de excepciones
  • try, catch y finally
  • Lanzamiento de excepciones personalizadas
  • Características específicas de flujo de control en Groovy

Implementación de Programación Orientada a Objetos (POO) en su aplicación

  • Definición de clases en Groovy
  • Propiedades y campos
  • Constructores
  • Métodos
  • Encapsulamiento
  • Herencia
  • Interfaces
  • Clases abstractas
  • Polimorfismo
  • Sobrescritura de métodos
  • Sobrecarga de métodos
  • Getters y setters en Groovy
  • Rasgos (Traits)
  • Enumeraciones (Enums)
  • Creación de modelos de dominio para la aplicación de ejemplo

Metaprogramación en tiempo de ejecución y en tiempo de compilación

  • Introducción a la metaprogramación en Groovy
  • Invocación dinámica de métodos
  • Objetos Expando
  • Manipulación de métodos y propiedades en tiempo de ejecución
  • Categorías y extensiones
  • MetaClass
  • Adición dinámica de métodos
  • Intercepción de llamadas a métodos
  • Transformaciones en tiempo de compilación
  • Transformaciones AST comunes
  • Uso responsable de la metaprogramación
  • Ejemplos prácticos de metaprogramación

Trabajo con constructores (Builders)

  • Introducción al patrón de constructor
  • Constructores de Groovy y su propósito
  • Creación de estructuras jerárquicas
  • Constructores de XML
  • Constructores de JSON
  • Generación de HTML y marcado
  • Configuración de la salida del constructor
  • Uso de cierres con constructores
  • Creación de constructores personalizados
  • Aplicación de constructores en Lenguajes Específicos de Dominio

Acceso a una base de datos con Groovy

  • Conceptos de conectividad a bases de datos
  • Conexión de aplicaciones Groovy a bases de datos
  • JDBC y APIs de base de datos de Groovy
  • Configuración de conexiones a base de datos
  • Ejecución de consultas SQL
  • Lectura de resultados de consultas
  • Insertar, actualizar y eliminar datos
  • Consultas parametrizadas
  • Transacciones
  • Manejo de excepciones de base de datos
  • Trabajo con Groovy SQL
  • Construcción de funcionalidad de base de datos para la aplicación de ejemplo

Invocación de Java desde Groovy

  • Interoperabilidad entre Groovy y Java
  • Uso de clases Java desde Groovy
  • Llamada a métodos Java
  • Trabajo con bibliotecas Java
  • Uso de colecciones Java
  • Manejo de excepciones Java
  • Comparación de la sintaxis de Groovy con la sintaxis de Java
  • Llamada a código Groovy desde Java
  • Mezcla de archivos fuente Groovy y Java
  • Integración de Groovy en aplicaciones Java existentes
  • Mejores prácticas de interoperabilidad

Conexión con servicios y aplicaciones REST

  • Introducción a las APIs REST
  • Conceptos de HTTP para aplicaciones Groovy
  • Envío de solicitudes HTTP
  • Manejo de operaciones GET, POST, PUT y DELETE
  • Trabajo con parámetros y encabezados de solicitud
  • Procesamiento de respuestas JSON
  • Construcción de cuerpos de solicitud JSON
  • Manejo de autenticación
  • Gestión de errores HTTP
  • Consumo de servicios REST externos
  • Integración de funcionalidad REST en la aplicación de ejemplo

Trabajo con el GDK

  • Introducción al Kit de Desarrollo de Groovy (GDK)
  • APIs de Java mejoradas
  • Trabajo con cadenas
  • Colecciones mejoradas
  • Operaciones de archivos y directorios
  • Lectura y escritura de archivos
  • Trabajo con flujos (streams)
  • Procesamiento de XML
  • Procesamiento de JSON
  • Trabajo con fechas y horas
  • Métodos de utilidad y APIs de conveniencia
  • Selección de la funcionalidad GDK adecuada

Pruebas unitarias de una aplicación Groovy

  • Introducción a la pruebas de aplicaciones Groovy
  • Conceptos de desarrollo guiado por pruebas
  • Escritura de pruebas unitarias
  • Uso de marcos de trabajo de pruebas
  • Estructuración de clases de prueba
  • Aserciones
  • Pruebas de clases y métodos
  • Pruebas de cierres
  • Pruebas de excepciones
  • Masquerading (Mocking) de dependencias
  • Pruebas basadas en datos
  • Pruebas de funcionalidades relacionadas con bases de datos
  • Pruebas de integraciones REST
  • Ejecución y análisis de resultados de pruebas

Solución de problemas

  • Diagnóstico de errores de sintaxis en Groovy
  • Depuración de errores en tiempo de ejecución
  • Manejo de problemas de compilación
  • Solución de problemas de interoperabilidad con Java
  • Depuración de cierres y operaciones de colecciones
  • Investigación de problemas de conectividad a bases de datos
  • Solución de problemas en integraciones de APIs REST
  • Depuración del comportamiento de metaprogramación
  • Uso de herramientas de registro y diagnóstico
  • Ejercicios prácticos de solución de problemas

Resumen y conclusión

  • Revisión de los fundamentos del lenguaje Groovy
  • Revisión de sintaxis, tipos y colecciones
  • Revisión de cierres y programación funcional
  • Revisión de programación orientada a objetos
  • Revisión de metaprogramación y constructores
  • Revisión de integración de bases de datos y REST
  • Revisión de interoperabilidad entre Groovy y Java
  • Revisión de las capacidades del GDK
  • Revisión de prácticas de pruebas
  • Mejores prácticas para el desarrollo de aplicaciones Groovy
  • Ejercicio práctico final
  • Preguntas y discusión

Requerimientos

  • Experiencia en programación con cualquier lenguaje de programación
 21 Horas

Formación Corporativa a Medida

Soluciones de formación diseñadas exclusivamente para empresas.

  • Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
  • Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
  • Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Inversión

Precio por grupo privado (formación online) desde 4350 € + IVA*

Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales

Reseñas (1)

Próximos cursos

Categorías Relacionadas