Drupal Day 2019: así fue nuestro paso por Zaragoza

El pasado día 23 de noviembre se celebró en Zaragoza el #DrupalDaySpain, un día para aprender y compartir experiencias en torno a Drupal. El evento está organizado por la Asociación Española de Drupal, y desde Biko lo apoyamos también a través del patrocinio. El espacio elegido, EINA (Escuela de Ingeniería y Arquitectura de la Universidad de Zaragoza)”, resultó muy apropiado para impartir y escuchar las charlas, además de tener muy buenos accesos y parking.

Como todos los años, desde Biko hemos presentado varias charlas top para contar cómo hacemos las cosas. En esta ocasión, nuestras charlas tuvieron un denominador común -el desacoplamiento-, pero también se habló de otras muchas cosas: testing con Cypress, herramientas de integración continua CI y CD, LayoutBuilder o PatternLab.

Drupal: nuestra visión a día de hoy

Ya casi estamos en 2020 y a lo largo de estos últimos años han emergido nuevas maneras de frontalizar webs, como por ejemplo React. En Biko utilizamos esta tecnología desde hace unos años y creemos que es la manera óptima de hacer el frontend de una web para generar una experiencia rica en UX (interactiva y atractiva).
Partiendo de esta premisa vemos que, para ciertos proyectos, tenemos que cambiar la manera de frontalizar una web Drupal. Nuestra visión es que Drupal tiene un motor de “frontalizado” totalmente acoplado al backend (CMS) con el cual es bastante difícil conseguir lo que hoy en día se hace fácilmente con React. Por este motivo necesitamos “desacoplar” esta capa de Drupal y utilizarlo para lo que mejor sabe hacer: gestionar contenido (CMS).

Las charlas 

Respecto a las charlas, recuerdo especialmente una que llevaba por título “Layout builder, la solución definitiva para un buen site-building”, en la cual enseñaron una perspectiva completamente opuesta a la nuestra. Aunque explicaron muy bien para qué sirve y cómo se trabaja con Layout Builder, también nos dimos cuenta de que el uso de esta herramienta de construcción hace mayor  la dependencia en un Drupal monolítico y que se retrase el uso de estándares de facto como React o Vue en la construcción de las interfaces.

Una de las charlas que más nos gustó fue “E2E Testing con Cypress”, donde nos contaron cómo hacer tests end-to-end con la herramienta Cypress. Esto ya había sido comentado en anteriores ediciones del Open Space de Biko, donde yo mismo impartí una charla sobre este tema. Otra sesión que también vimos interesante fue “Patternlab y Drupal”, donde explicaban cómo integrar ambas herramientas para resolver el diseño atómico (atomic design) que, lamentablemente, Drupal 8 no trae por defecto.

Las Biko-charlas

Alberto Silva: “Drupal + Gatsby: cómo desacoplar a lo grande (y ser indestructible)”

Alberto nos explicó, de manera brillante, cómo se aprueba un examen con un 10 en tan sólo 45 minutos. Su charla, “Drupal + Gatsby: cómo desacoplar a lo grande (y ser indestructible)”, resumió la visión experimentada de alguien que lleva más de 20 años en el sector y ha resuelto muchos proyectos complejos.

Alberto Silva durante su sesión en la Drupal Day 2019

Alberto nos contó cómo Gatsby nos permite pre-generar sites estáticos altamente optimizados y con una reducción drástica en costes de infraestructura, además de cómo desacoplar Drupal con Gatsby usando una CDN: no más Drupalgeddones, no más servidores caidos, no más BBDD fritas, no más varnish… simplemente sites estáticos e indestructibles.

A la hora de hablar de «desacoplar a lo grande», Alberto se refería a que, de hecho, lo hemos puesto en práctica como solución editorial para un cliente internacional con unas exigencias muy elevadas y sites de tamaño XL (~20.000 nodos).

Durante la sesión, también compartió algunas de las principales ventajas de este modelo, sistemas de exportación, compilación y despliegue; e incluso llevó a cabo una pequeña demo para contar cómo funciona.

Aquí tienes las slides de la charla de Alberto Silva: Drupal +Gatsby: cómo desacoplar a lo grande (y ser indestructible)


Mi charla: Drupal + GraphQL + React: ¿Y si GraphQL manda sobre Drupal?

En mi caso, en esta ocasión presenté una sesión al hilo de la de mi compañero Alberto: “Drupal + GraphQL + React: ¿Y si GraphQL manda sobre Drupal?”. Durante la charla, hablé en profundidad de GraphQL, el conector entre Drupal y el frontend (React).

GraphQL nos permite desacoplar dinámicamente sites desarrollados en Drupal de forma sencilla. Por ello, me centré en mostrar cómo desacoplar Drupal con GraphQL para ser consumido por React a través del API que genera el módulo de GraphQL.

Al hablar de «desacoplar dinámicamente», nos referimos a que los datos para renderizar la página se solicitan en cada petición, pudiendo incluso hacer un proceso CRUD desde el cliente.

Durante toda la charla expliqué por qué elegimos esta solución para un proyecto real, ejemplos de consultas, de códigos, similitudes con otros modelos, diferencias…

Luis Gil contando las bondades de GraphQL en el Drupal Day 2019

En la historia que compartí durante mi charla también mencioné las distintas formas de desacoplar un Drupal: semidesacoplado, desacoplado estático y desacoplado dinámico. Saber elegir el modelo de desacoplamiento en función de las necesidades del proyecto del cliente es muy importante; y en Biko podemos presumir de contar con el conocimiento para ello gracias a llevar más de 20 años definiendo, diseñando y desarrollando productos y servicios digitales.

Aquí van las slides de la charla de Luis Gil: Drupal + GraphQL + React: ¿Y si GraphQL manda sobre Drupal?


Y tú, ¿cuál fue tu experiencia en el Drupalday? ¿Quieres comentar algo acerca de nuestras charlas?