Tuesday, March 19, 2019

Headless Drupal, decoupling Drupal

Unic
DrupalDecoupledConsulting

Drupal is often and rightly referred to as a classic CMS. However, in recent years Drupal has also made a name for itself in the headless and decoupled scene. There isn't just one way of doing things and thanks to its modularity, Drupal offers many possibilities for decoupling.

Drupal is API-First

[Drupal 8][1] offers various interfaces to perform decoupling in several stages. Operated as a classic monolithic CMS, backend and frontend are closely interlinked and enable the efficient implementation of web projects. Using the integrated API interfaces such as [REST][2], [JSON:API][3] and [GraphQL][4], parts of the Drupal web solution can be “progressively decoupled”. The specific page areas then operate like a decoupled app which accesses the backend via the interface. In fully decoupled operation, one or more frontends consume the data from Drupal to display them in a stand-alone web site or application.

The web site is often only the start

The web solution can evolve dynamically, especially with the gradual expandability of Drupal. New requirements for the integration of a [PWA][5], connection of a [React Native App][6] or the delivery of web content to other third-party systems can be complemented by Drupal's modular interface capabilities. This allows the website to evolve into a landscape of web applications without the core system having to abandon its primary tasks. The structured collection of content through an appropriate editorial interface with finely granular permissions and adaptive workflows form the heart of most modern Drupal websites. Complex translation workflows or integrated e-commerce applications can be optimally built upon.

To decouple or not?

Coupled, progressively decoupled or fully decoupled? Lately, this question has been repeatedly raised. Whether you want to implement a classic monolithic Drupal or simply publish content via an interface – or both –, it makes sense to form a basis for decision-making first. Therefore, let me show you some advantages and disadvantages of decoupling:

Advantages: