Diseño basando en componentes usando (casi) únicamente el Core de Drupal
En los últimos años, el front-end ha vivido una revolución en la que la componentización y modularización han sido una pieza clave. Frameworks como React o Vue animan a dividir las piezas que forman el diseño en patrones reutilizables, agnósticos y combinables, reduciendo las duplicidades y acelerando enormemente el desarrollo. Drupal proporciona por defecto un front-end mucho más acoplado, pero disponemos de estrategias y herramientas para que esto no sea siempre así. En esta ponencia veremos cómo podemos usar las capacidades del Core de Drupal, así como el módulo Components!, para generar componentes. Nos basaremos también en ideas del tema Radix (como la autocarga de librerías) para mejorar el rendimiento y abstraer el JS y CSS de cada pieza. Por último, usaremos capacidades de Twig que en ocasiones son poco explotadas en Drupal. Gracias a ello conseguiremos abstraer ciertos patrones en componentes, casi micro-librerías de archivos CSS, Twig y JS que podemos incluso portar entre proyectos o referenciar desde módulos compartidos. El objetivo de esta charla es separarnos del Core lo menos posible pero, de paso, mencionaremos otras iniciativas interesantes y maś complejas como UI Patterns o Emulsify. La charla puede ser interesante tanto para principiantes en el front-end de Drupal (veremos conceptos básicos de render arrays o theme hooks) como para desarrolladores avanzados que puedan aprender nuevas técnicas u obtener una visión diferente de cómo solucionar ciertos problemas.
Esta ponencia es parte tanto de una reflexión personal del autor como del trabajo realizado a lo largo de dos años en Metadrop, aplicándola paulatinamente a varios proyectos y con la ayuda de varios compañeros.