Decoupling Drupal (“headless” Drupal) is a technique whereby the CMS sends data via JSON to the client and passes on responsibility of rendering and controller logic to the browser. When incorporated, this approach can produce responsive, customizable and scalable web applications.
A decoupled approach matches the strengths of Drupal as a CMS with the front-end strengths of a JS framework like React or Angular. By deferring the rendering process to the browser, time-consuming server-side logic and rendering processes can be avoided, resulting in a quick and responsive user interface. And by separating rendering processes and data flow into separate components, the task of modifying the front-end layer becomes less integrated and messy, leading to a more maintainable development stack.
This talk will cover some of the abstract concepts of the headless approach and illustrate with one simple demo and examples of more advanced applications. Also covered are common situations where a headless web service is appropriate and the different ways it can be incorporated into projects. This approach isn’t necessarily all-or-nothing, but rather can be embedded when most appropriate on a page-by-page basis. This talk will also cover the downsides of a headless approach and basic ways to mitigate these consequences.
No prerequisites necessary but an understanding of RESTful APIs and Drupal's hook system might be helpful.