#Development

CMS and JAMStack: how content management changes

Marco Boffo
agosto 2024 - 3 minuti

Anyone who has decided to develop for the web in recent years has certainly heard of JAMStack.

JAMStack is a technology stack formed by the Javascript API Markupand is an abstraction for conceiving and developing applications.

Starting with the Markup, which is a system for annotating a document in a way that is distinguishable from text, we generally want to dynamically receive data from our CMS (such as Contentful or WordPress) that is useful for forming our application (products, articles and images), and so we make use of APIs.

The glue of these two worlds is Javascript, a dynamic language capable of combining markup and APIs and bringing sites and applications to life.

Many projects stem from this concept: the world surrounding the JAMStack is in turmoil. The technology issue has already pushed several areas close to the web (such as Content Management) towards profound changes.

We use and will continue to use CMSs (Content Management Systems) to manage content, and JAMStack has drastically changed the way we think about the architecture and interfaces of these systems.

Before understanding what has changed, it is necessary to analyse how a CMS is formed. A CMS is an application made up of two smaller applications. One is called a Content Management Application and one a Content Delivery Application. The names of the two cells that make up this organism already hint at their purpose: one serves to manage content and one serves to deliver it to the applications that require it.

Before this technological revolution, the two cells resided in the same place and were therefore indivisible: now they are well separated, both conceptually and physically.

To understand the advantages that this separation can bring, it is first necessary to understand what features we are looking for in a CMS, the manager of our content.

  • Internal content search and organisation
  • Content status management
  • Content-related media management
  • Security
  • Possibility of using the content on different platforms
  • Content versioning management
  • Permissions management
  • Unified user experience for managing all content
  • Ease of development-side implementation
  • Utility tools to implement accessibility features and other standards

Classic CMSs (WordPress, Drupal and others) meet these requirements by providing:

  • A database containing all the content we have entered
  • An administration panel
  • A technology chosen by the company supplying the CMS that drives all the development of the site
  • Integration of other data sources via plugins

Headless CMSs, on the other hand, provide:

  • A database containing the data
  • An administrative panel
  • A programming language agnostic data distribution interface

By separating the concepts and avoiding imposing a technology on the user, headless CMSs have a smaller attack surface and greater integration possibilities.

The widespread use of Headless CMSs finally makes it possible to reduce integration time with existing systems and to create new business strategies with a much smaller expenditure of development resources.