Como ya era sabido, este año a raíz de la pandemia mundial que nos acosa desde principios de año, la prestigiosa conferencia anual de Symfony “SymfonyCon” se ha reconvertido en la primera “SymfonyWorld Online”, permitiendo de esta forma continuar con la tradición de las conferencias, pero a su vez tomando los recaudos sanitarios recomendados.
Y este año no es un año más para Symfony y su comunidad, ya que celebramos 15 años de vida del framework y esta conferencia ha venido a demostrar la madurez de todo el ecosistema.
Lo primero a destacar es que ha sido una estupenda conferencia como nos tiene acostumbrados el equipo de Symfony, logrando un nivel de excelencia quizá aún mayor al de la conferencia del 2019 en Amsterdam.
Modo online
El formato de conferencia online ha permitido una mayor participación del equipo de Acilia, simplificando y abaratando la logística para las personas de equipo que se encuentran en la oficina de Montevideo. De esta manera, este año Acilia concurrió a la conferencia con la cifra de 11 desarrolladores.
Por otra parte, el hecho de que las charlas se repitieran en 2 horarios para cubrir distintas zonas horarias ha colaborado para que se pueda asistir a más charlas. Pero además y como un detalle extra, todas las charlas están disponibles online para los asistentes, lo que permite hacer replay o ver alguna charla que nos hubiéramos perdido!
Symfony UX
La keynote del primer día estuvo dedicada al nuevo componente y estrella de la conferencia: Symfony UX.
Este componente es un nexo entre el desarrollo backend y el frontend, intentando simplificar el proceso de desarrollo y la gestión de los dos mundos. Este no es el primer intento de Symfony en este sentido, ya viene trabajando en este camino desde hace algún tiempo con el lanzamiento de Webpack Encore.
De forma simplificada, la filosofía detrás de este componente es la de abstraerse de las tecnologías de frontend (Angular, React, Vue) y ofrecer a través de componentes PHP los componentes JavaScript necesarios. Durante las charlas se mostró en práctica como estos componentes se pueden utilizar a través de los formularios de Symfony.
Desde Acilia vemos este componente con mucha ilusión, ya que se alinea con las decisiones de arquitectura que tomamos hace un tiempo con el desarrollo de Widestand, ofreciendo elementos de formulario que resuelven automáticamente el backend, frontend y la experiencia de usuario en un mismo componente.
Otros componentes destacados
Las charlas se sucedieron con distintos tópicos y presentando avances de distintos componentes. A continuación comentaremos algunos que nos resultaron particularmente interesantes.
Messenger
La presentación del componente Messenger ha sido particularmente interesante, mostrando los detalles más relevantes de la implementación de este patrón de diseño.
El desarrollo se abstrae de forma elegante de los medios de transporte como puede ser AWS SQS o RabbitMQ, y además añade funcionalidades para extender nuestro sistema como los Envelopes o Stamps.
Los sistemas de mensajería son un patrón muy útil en el desarrollo de software y que permite resolver problemas complejos de código de forma muy sencilla. Ya tenemos ganas de actualizar nuestros desarrollos con este nuevo componente.
Security
El componente de seguridad de Symfony posiblemente sea el más complejo de todos, y es posible que este haya sido el motivo por el cual no se había llevado adelante un rediseño del mismo para adaptarlo a nuevas necesidades de las aplicaciones.
En la presentación - realizada de forma magnífica por Ryan Weaver - se introducen los principales conceptos de este nuevo componente, y vemos de forma muy satisfactoria como se incorporan conceptos de otras tecnologías que han dado buenos resultados, como lo son Passport y Badges.
Pero lo más significativo de este aporte es que el esfuerzo para llevar adelante el proceso de migración para la utilización de este componente es casi nulo. Las interfaces se mantienen casi idénticas, lo cual para nosotros desarrolladores, es muy importante.
Dependency Injection
Este concepto es uno de los más poderosos del ecosistema Symfony. La presentación realizada por Alexander Turek fue brillante, explicando los principales conceptos detrás de este componente, como son ServiceLocation, AutoConfiguration, AutoWiring, Compiler Pass, entre otros.
Estas ideas son las que soportan la arquitectura de nuestros productos Widestand y BeatVote, permitiendo de forma fácil añadir funcionalidades desde fuera de los bundles core de las aplicaciones.
Pero hay más. La conferencia nos permitió acercarnos las nuevas actualizaciones sobre el framework API Platform, muy utilizado en los desarrollos en Acilia, nos permitió conocer de primera mano del desarrollador las novedades de Composer 2 La keynote del primer día estuvo dedicada al nuevo componente y estrella de la conferencia: Symfony UX.
¿Qué esperar en el futuro?
El framework Symfony sigue mostrando su crecimiento año a año, con nuevas funcionalidades, enfocando el framework entorno al desarrollador, permitiendo que este se concentre en las necesidades de su dominio, y facilitando herramientas para que el stack tecnológico sea más asequible.
Por otra parte la comunidad sigue muy fuerte también. Lo que pudimos ver de networking durante los días de las conferencias fue muy auspicioso.
Antes de irnos, no podemos dejar de mencionar la aparición de PHP 8, que promete ser otro de los grandes saltos de PHP y permitirá desarrollar aplicaciones mucho más rápidas aún. A la introducción de nuevas funcionalidades, se le añade el ya famoso JIT (Just-In-Time) compiler.
El año que viene esperamos poder tener la SymfonyCon en Disneyland Paris pospuesta este año, y además tendremos una “SymfonyLive Online” en España. ¡Allí nos “veremos”!