Spring I/O 2022

Compartir esta publicación

Compartir en facebook
Compartir en linkedin
Compartir en twitter
Compartir en email

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í!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Suscríbete a nuestro boletín de noticias

Recibe actualizaciones de los últimos descubrimientos tecnológicos

Acerca de Apiumhub

Apiumhub reúne a una comunidad de desarrolladores y arquitectos de software para ayudarte a transformar tu idea en un producto potente y escalable. Nuestro Tech Hub se especializa en Arquitectura de Software, Desarrollo Web & Desarrollo de Aplicaciones Móviles. Aquí compartimos con usted consejos de la industria & mejores prácticas, basadas en nuestra experiencia.

Posts populares
Obtén nuestro Libro: Software Architecture Metrics

Global Software Architecture Summit '22

Reserva tu plaza!

Reserva

¿Tienes un proyecto desafiante?

Podemos trabajar juntos

Secured By miniOrange