When building a UI in Drupal, you face an important choice: do you go decoupled or stick with Drupal for your UI? Decoupled Drupal allows you to build amazing UI and UX experiences using modern JavaScript frameworks such as React, but it also introduces complexity, increases development time, and frequently leads to budget overruns. Building your UI in Drupal means diving into the jQuery-infused world of Ajax commands and other Drupal idiosyncrasies (we all love them despite everything).
What if you could build a React-like experience without the complexity of a fully decoupled architecture? What if your frontend and backend could communicate seamlessly without an API in between?
Symfony Live Components does just that. Though not (yet) integrated into Drupal (to my knowledge), this lightweight framework, built on top of Stimulus (by 37 Signals), allows you to create dynamic, interactive user experiences with just one PHP file and one Twig template. Inspired by Laravel Livewire and Phoenix LiveView, Symfony Live Components offers a way of building modern, interactive UIs that could broaden how we approach UI development in Drupal.
I used Live Components to build Mapsemble.com, an app for creating and customizing maps for any purpose. In this talk, I'll walk you through real-life examples from Mapsemble to showcase how different features of Live Components work in practice and hopefully inspire the Drupal community to explore options beyond the realm of Drupal.