Developer Chris explains the difference between a regular CMS and Headless CMS, and explores the benefits of adopting a headless approach.
I’ve been meaning (and been badgered) to write this blog post for a while after attending Episerver Ascend in London where I attended a talk on Episerver’s Content Delivery API, or “Headless CMS” (content management system)… but ya know… been busy… the world of web development rests for no man… so thought I’d make some time…
What Are Monolithic Applications?
CMS frameworks such as Episerver are traditionally known as monolithic applications – what’s a monolith? – in its basic form, a monolith is data storage, back-end code tied in with a front-end views/templates, which then typically gives you a single application – a monolith. These applications, or CMSs in our case, are often web-first applications, meaning we create them so that all the content will be delivered via HTTP and served up in the form of HTML.
A few years ago it was safe to assume this was fine and all that would ever be required, and it still is in a lot of cases. However, if we want to deliver content through something other than a web app or website, say a smartphone/watch app or even a virtual assistant such as Alexa, then a monolith application/CMS would be incapable (without extensive modification and a world of pain from a developers point of view) to deliver its content through these channels. This is because web-first applications are tightly coupled, meaning that the content or data is very tightly knitted together with the front end presentation, all bundled up together to deliver one application.
So in its simplest form, a standard CMS application gives us three things:
- A way of storing content/data
- A user interface to manage content/data
- Various templates/ways to display content/data
What Is Headless CMS?
Enter Headless…. A headless CMS is back-end only, with content being delivered through an API rather than baked into the front end presentation layer. The term “headless” comes from the concept of chopping the “head” off the “body”, the “head” meaning the presentation or display and the “body” being the content/data and back end code.
So if we compare this to a regular CMS, a headless CMS gives us:
- A way of storing content/data
- A user interface to manage content/data
- An API to expose the content/data
How Is Content Presented In Headless CMS?
A Practical Example: Rebranding
So there you have it, an overview of what headless CMS is and how it works. Ultimately it’s a more flexible and modern approach to developing a CMS, and allows for content to be delivered across multiple platforms and channels, resulting in your content having a wider reach.