Si tuviera que describir Drupal 8 en comparación con otras versiones, la palabra que elegiría sería: orden. Este enfoque en la organización y jerarquía cambia nuestra forma de pensar sobre cómo trabajamos con Drupal. Al principio, así lo consideré.
El uso de Clases implica varios cambios importantes. Uno de los más evidentes es que ya no podemos simplemente entrar y modificar los datos directamente. En su lugar, la configuración y el acceso a los datos deben hacerse a través de métodos de clase. Esto significa que no podemos simplemente tomar una matriz y comenzar a programar o leer claves. Las matrices de renderizado son una excepción, pero en general, su uso y administración están mejor definidos, lo cual es un avance positivo.
Una ventaja clara de usar clases es que Drupal 8 ahora permite un análisis más sencillo de la unidad. En versiones anteriores, las pruebas eran posibles, pero parecían ir en contra de la filosofía de Drupal, lo que las hacía sentir algo forzadas y difíciles de implementar.
Los contenedores de servicios son otro de los grandes avances de Drupal 8. Ahora, acceder a los datos que necesitamos es mucho más sencillo. Ya no tenemos que hacer esfuerzos innecesarios para obtener información de Drupal. Simplemente recibimos el servicio que nos proporciona los datos y podemos proceder a usarlos.
Sin embargo, la búsqueda y la identificación de qué servicio proporciona exactamente los datos necesarios puede ser algo tediosa. A medida que nos acostumbremos a estos servicios, espero que este problema se resuelva. Además, los servicios también facilitan las pruebas unitarias, ya que podemos reemplazar los servicios con versiones simuladas que controlamos. Esto nos permite diseñar pruebas más específicas y ponerlas en práctica con datos conocidos y resultados esperados.
Twig es, sin duda, uno de los aspectos que más me gustan de Drupal 8. Uno de los mayores dolores de cabeza que tenía con PHP como lenguaje de plantillas era lo desordenado que podía llegar a ser. En versiones anteriores de Drupal, veía plantillas con mucha lógica PHP incrustada, lo cual no era ideal.
Twig limita la cantidad de lógica explícita que se puede usar, lo que es un cambio positivo. Solo alimentamos datos a las plantillas Twig, lo cual también es una ventaja. Además, los filtros de Twig pueden definirse fuera del archivo de plantilla, lo que refuerza la separación de capas y mejora la claridad tanto para diseñadores como para desarrolladores.
Para ser honesto, el cambio a Twig como lenguaje de plantillas es una de las mejores cosas que ha traído Drupal 8.
Drupal 8 requiere un pequeño ajuste mental, pero en general, considero que es un gran avance. El orden y la jerarquía que ofrece facilitan la comprensión del código de otras personas, incluso nuestro propio código anterior, ya que hay menos formas de hacer las cosas. Esta es una gran ventaja, ya que acelera el mantenimiento de nuestra base de código.
Además, la decisión de utilizar el framework Symfony como la base subyacente de Drupal 8 es un acierto. Esto hará que los desarrolladores familiarizados con Symfony puedan adaptarse más fácilmente al desarrollo con Drupal, lo que también debería resultar en una mejor adopción de la plataforma y, en última instancia, en beneficios para nuestra comunidad.