Google Suggest — more than just a suggestion
Back in 2004, Google introduced a revolutionary little feature called Google Suggest. It supercharged the search field to offer suggestions as you type, without a page reload. The nifty “requests” between the server and the web page provided a pleasing user experience.
The expectation from Content Management Systems changed to meet the excellent user experience. Instead of providing a simple text or a piece of pre-rendered code snippets, they (frontend dev) started demanding structured data like JSON from the server. This allowed Frontend Developers to write much cleaner and complex logic than ever before. Thus began a new era of Content Management System, where various CMSs started focusing on providing API endpoints serving JSON content.
Why Headless and what is in it for Drupal?
A Headless CMS is a backend only content management system built as a content repository that makes content accessible via an API for display on any device.
Many web pages are trying to mimic the native App’s user experience nowadays. An area where traditional CMS are struggling to cope up. Drupal is no longer being used to display just web pages. Multichannel publishing is becoming common. Drupal can serve content-hungry applications inside a smartphone or a shy data-cautious app inside a smartwatch.
Drupal as Headless CMS
Including JSON:API in core laid the foundation stone for Drupal to embrace the Headless CMS ability. Contenta CMS and DruxtJS used this foundation wholeheartedly. Decoupled Menu Initiative aims to make Headless CMS experience better for Drupal users. This core initiative is using the “menu in a decoupled systems” scenario to recognize improvements.
Hackathon during the Drupalcon NA 2021 was quite successful in identifying and implementing a lot of improvements. It was thrilling to see people from various disciplines join hands to enhance the decoupled Drupal experience. There was an overwhelming interest in improving the documentation and trying out the fresh “General Project” category on Drupal.org.