Table of Contents
Una renovación
Después de los días cortos, las temperaturas frías y la flora estéril del invierno, llega la estación de la primavera: un renacimiento del mundo, con los días más largos, el clima más cálido y las flores y los árboles floreciendo de nuevo. Es difícil no tener una disposición más brillante o un mayor impulso en el paso de uno cuando la vitalidad de la naturaleza -que se despidió en el otoño anterior- regresa de nuevo. Así pues, fue muy apropiado celebrar el pasado mes de mayo el regreso de Spring I/O a Barcelona tras el «invierno» de no poder celebrar la conferencia en persona durante los dos últimos años debido a la COVID. ¡Menudo regreso fue! Una asistencia completa, muchas presentaciones y talleres, una comida estupenda… fue como si las cosas no hubieran cambiado.
Antecedentes
¿Qué es Spring I/O? Es una conferencia anual de dos días que se celebra en Barcelona (a los pies de Montjuïc y la Fuente Mágica) para el Spring Framework, un marco de aplicación inmensamente popular para el ecosistema JVM (en el que se basa el marco Spring Boot). Como se ha mencionado anteriormente, la conferencia está llena de presentaciones de personas de toda la industria de desarrollo de software, así como varios talleres diseñados para ayudar a obtener conocimientos sobre cómo realizar diversas tareas (por ejemplo, la configuración de Spring en Kubernetes) de una manera práctica. También están presentes, por supuesto, los asistentes de una multitud de empresas y países, y no faltan oportunidades para establecer contactos.
Aspectos destacados
Thymeleaf
Mientras que el mundo del desarrollo web ha visto la introducción de varios frameworks frontales como React, Angular y Vue, el renderizado tradicional del lado del servidor sigue estando lejos de extinguirse. Thymeleaf continúa creciendo como un motor de plantillas para Java y una opción alternativa para cuando los frameworks de Javascript frontales completos serían excesivos para los requisitos del proyecto, junto con beneficios como un SEO más fácil (debido a que el contenido web está fácilmente disponible) y el almacenamiento en caché/enlace profundo que está disponible por defecto. Cuando se necesitan aún más capacidades de funcionalidad del navegador, la biblioteca HTMX está disponible como un suplemento para acceder a esta funcionalidad dentro de las etiquetas HTML en lugar de generar código Javascript adicional. Además, hay una pequeña biblioteca en desarrollo activo que facilita la integración entre Thymeleaf/HTMX y Spring Boot. Por supuesto, no todos los casos de uso van a ser los más adecuados para esta pila tecnológica – echa un vistazo a esta página para ver un desglose de los casos de uso que podrían encajar mejor en Thymeleaf frente a otros frameworks.
Pruebas
JUnit 5.8 -lanzado en septiembre del año pasado- proporcionó una variedad de nuevas características y mejoras, como el uso de la anotación @TempDir para crear múltiples directorios o el soporte para objetos que implementan AutoCloseable cuando se ejecutan pruebas anotadas con @ParameterizedTest. También se habló en la conferencia del próximo lanzamiento de JUnit 5.9, que saldrá a finales de este año. Entre las características que vendrán en JUnit 5.9 están el uso del formato Open Test Reporting para la salida de resultados de pruebas XML; un modo de limpieza configurable para @TempDir; hacer estable la anotación de ordenación de pruebas @Order; y permitir que @MethodSource acepte argumentos para resolver parámetros de pruebas.
Otro tema fue cómo mejorar el tiempo de ejecución de las pruebas de Spring. Por ejemplo, Spring contiene una caché de contextos que permite al framework reutilizar un entorno de prueba entre pruebas, ahorrando así tiempo entre ejecuciones de diferentes casos de prueba al no tener que recargar la aplicación Spring. En consecuencia, las situaciones en las que no se pueda utilizar un contexto adecuado -el uso de @DirtiesContext, que el test en cuestión requiera un contexto que no se encuentre en la caché de contextos, que la caché de contextos esté llena y haya que expulsar un contexto- el sistema tendrá que recargar la aplicación Spring y hacer que la ejecución del test dure más tiempo. Aparte de algunos consejos generales – abstenerse de utilizar @SpringBootTest para las pruebas unitarias, intentar compartir las propiedades de las pruebas siempre que sea posible, etc – reducir el tiempo de ejecución de las pruebas suele requerir un examen caso por caso; si se establece el nivel de registro de org.springframework.test.context a TRACE se informará de las estadísticas de la caché de contexto.
Mirando al futuro
Quizás una de las partes más útiles de la conferencia es la posibilidad de poner «el oído en el suelo» y adquirir una comprensión de la dirección en la que se dirige el Spring Framework. En 2018, fue la integración de la programación reactiva en el Spring Framework; en 2019, fue la aceptación de Kotlin como ciudadano de primera clase dentro del Spring Framework; este año, fueron los números «6» y «3»: es decir, la introducción de las versiones 6.0 y 3.0 del Spring Framework y Spring Boot, respectivamente, hacia finales de este año. Estas nuevas versiones prometen mejoras hacia una mayor integración del ecosistema de Spring en la dirección evolutiva de Java, con características como:
- Generación de documentación adicional del módulo para su uso con JLink.
- Trabajo de introducción para acomodar el próximo ‘Proyect Loom.’
- Soporte para la compilación AOT, ya sea para un tiempo de arranque más rápido por sí mismo o para su uso con la compilación nativa de GraalVM.
¿El ‘catch’? Las líneas de base tanto para Java como para JakartaEE (JavaEE) se incrementarán a 17 y 9, respectivamente. Para las bases de código que son capaces de mantener estas dependencias actualizadas, esto no será un problema; de lo contrario, ahora podría ser un buen momento para comenzar a planificar un plan de migración.
Conclusión
Barcelona ya es una ciudad maravillosa, un centro tecnológico en crecimiento dentro de Europa y un gran destino para viajar; si eres un desarrollador dentro del ecosistema JVM, la conferencia Spring I/O es una razón más para venir a la «Ciutat Comtal». Las entradas para el 2023 aún no están disponibles, pero al igual que las conferencias de años anteriores, la próxima conferencia está programada provisionalmente para la última semana de mayo, así que marquen sus calendarios y ¡esperamos verles allí!
Author
-
Software engineer with more than 10 years of experience working with different technologies such as Java, Docker, Kubernetes, React, CDK, Kotlin.... With high ability to deal with different environments and technologies.
Ver todas las entradas
More to Explore
- Conferencias tecnológicas que tendrán lugar en mayo
- Panorama de las conferencias de Devmio en 2024
- Compass Tech Summit: Una extraordinaria conferencia…
- Próximos eventos tecnológicos: Conferencias en junio y julio
- 3 conferencias organizadas por DevNetwork en agosto
- GSAS se celebra este año en el CCIB, Barcelona