API-First, headless, and decoupled Drupal are popular topics. These concepts entail the separation of the content management layer and the presentation layer to allow for multiple and varied front-end experiences that all use the same content managed in the Drupal CMS. Drupal’s implementation of these concepts are well-engineered and allow for a more intuitive experience when developing these systems.
The “API-First” initiative that has become a selling feature for Drupal (starting with Drupal 8) is a concept that is hard to miss.
It is being talked about a great deal and pointed to as a reason that Drupal is well situated as a competitor in the content management system (CMS) market. But why is it such a compelling aspect of Drupal, and why should the average Drupal user or a marketing and design agency care about it?
First, What Is Meant by Headless and Decoupling?
The terms headless CMS and decoupled CMS are really just referring to different representations of the same thing. A CMS has different components that make up the overall product, which include features like an administrative interface for managing settings and adding or editing content, and usually a front-end theme layer which displays your managed content in a visually appealing manner.
In recent years, it seems that it has sometimes been the case that the theming or presentation components of the various CMS products on the market have not kept up with the pace of innovation in the front-end design and engineering field. In meeting the desire for a way to utilize more robust front-end development frameworks or to even have a completely customized and proprietary front-end in general, CMS platforms have become available that offer a headless experience.
A headless CMS is one that provides just the backend administrative and content management features, and then exposes your content with web services in a way so that a custom front-end can consume that content and display it with your own interesting and fancy user experience. Some areas where these types of dedicated headless CMS products might fall short are in-place editing of content and in-context administration of your workflows and content structure.
But, a headless CMS is also really a decoupled CMS (decoupled has become a more popular term for this concept) just in the most extreme manner of implementation. It is also entirely possible and sometimes more appropriate to utilize the full stack of services with your CMS (including the presentation theme) but make your content portable to some other channel or platform. (ie. mobile devices, connected TV, etc.)
So, back to why we would consider all this in the first place -
Consumers Want and Expect Compelling User Experiences
Most users probably don’t care about the device or platform that their desired content is being provided on, except that it is on the device or platform that they prefer. Additionally, some types of content just work better on specific platforms or devices. But overall though, the users that we want to cater to want the content they are engaged with to be part of a compelling user experience.
Content is certainly now recognized as a fundamental component of not just marketing but the fabric of the typical daily life for most people. We interact with content of all types for a significant portion of each and every day. So, it isn’t really that unfair for users to desire that content be entertaining or inspiring or even just easy to consume.
Standard Drupal Theming Is Great but Not Always Enough
The Drupal CMS has been a huge force for innovation in the open source content management space, and its ability to provide management of your content from inception to delivery in a very cohesive framework has been transformative. But, it would be an exaggeration to suggest that the theming layer and front-end presentation that Drupal provided by default was sufficient for all use-cases.
Newer versions of Drupal provide progressively more capable and well-tooled features for front-end design work, but it can be argued that the primary selling point for that aspect of Drupal is that if you don’t have the resources to create your own custom front-end, then you don’t have to. Drupal can provide that for you and it integrates marvelously with one of the most amazing features of Drupal - its content modeling and entity management.
However, if you do have the resources and capability to create your own custom front-end for your CMS, and you find that what Drupal provides by default is not delivering what you need, but you still want to make use of Drupal's unparalleled content modeling, entity management, workflow management, and the thousands of free contributed modules it has that allow for an insane degree of customizations and integrations - then read on.
Not All Front-End Developers Are Familiar with Drupal
There are a lot of developers out there and most of them are probably front-end developers or technicians who focus on the presentation and design that users interact with. But despite the popularity and success of Drupal as a platform, it should be obvious to say that the majority of front-end developers in the industry do not have deep experience working within Drupal’s theming layer.
With Drupal 8, the theming layer has moved to a far more popular set of templating tools and languages so that this potential barrier should decrease over time. But the developers at your organization or with your vendor may still not want to spend the time to learn how Drupal does theming when they’re just planning on making something that works completely differently anyway.
Avoid All of These Issues with API-First Drupal
The API-First approach with Drupal allows you to avoid all of these issues while still being able to take advantage of best in class content management. You can certainly try to achieve this decoupled approach with other CMS platforms and you will undoubtedly make it work for some of them. One of the important points here with respect to Drupal is that this approach to content management is being supported and facilitated in a deliberate and well thought-out manner.
Do you want to keep your Drupal themes? You can keep your Drupal themes and still incorporate a decoupled approach. Or, do you want to make a completely custom front-end using frameworks like React.js and at the same time port out the same content to your iOS app? You can do that do with the ability to manage all of it in one familiar place.
It’s Nice to Have the Option to Decouple Progressively
If this kind of portability of your content wasn’t managed in such a cohesive manner, trying to hack your way into making it possible on some other content management platform has the potential to become a huge nightmare. Who wants to deal with that? Forcing a CMS to do things it wasn’t designed to do always ends up costing a lot of time, energy, and money. You can save a bunch of all of those things by working with a platform like Drupal that is now engineered from the ground up to support your needs.
With technology and software also changing at such a rapid pace, it’s hard to predict with significant confidence how long any design trend will remain popular. It’s entirely possible that in the next few iterations of CMS platforms their core front-end theme layers will become much more compelling to work with and the decoupling trend will slow down to some degree. However, one trend that will probably never fade is the desire by organizations to have a supreme amount of flexibility as to how to display and control their content. In that regard, the Drupal will continue to remain a superior platform for content management.