Exploring Headless CMS
The Thunder Core Team throws itself into the next adventure: Headless first. We want to support websites with a decoupled approach better than before. We are still at the very beginning of this journey and are currently looking for the best solution. For this, we exchanged ideas with some of our Certified Thunder Integrators (CTI) in September and gained exciting insights.
In a three-hour online workshop we got to know different approaches: Timo Welde and Angelos Angelides from galaniprojects presented a GraphQL-based concept that is used on the Burda sites elle.de, harpersbazaar.de, and esquire.de.
Wolfgang Ziegler from drunomics presented the Custom Elements module. The goal of this approach is to keep as many functions of Drupal as possible. The basic idea is that Drupal continues to render the pages by providing the content as custom elements (markup). This simplified markup can then be used by frameworks like Vue.js to do the rendering in the frontend. Read more about this approach in this blog post.
Florian Loretan from Wunder talked about a radical approach, where frontend and backend communicate exclusively via an Elastic Search Server. 1xInternet has also tested a similar concept.
Alex Pott finally presented further developments of the JSON:API, which is supported by Drupal Core. The big advantage is that all further developments in Drupal are automatically usable via JSON:API.
Since the presented approaches are very different, the Thunder Core team will do some research first. We will take a closer look at three approaches: the JSON:API supported by Drupal Core, the GraphQL solution already used by Burda (contrib module version 3) and the new version of the GraphQL contrib module (version 4, currently beta).
We are looking forward to any further input, experiences and opinions about the presented and other headless approaches! Feel free to write us at [email protected] or in our Slack channel.