A JAMstack-ready CMS

Content-rich projects built with JAMstack need a CMS so that the content is easy to maintain

Mathias Biilmann recently introduced the concept of a JAMstack: a different, serverless approach to building fast, modern websites. JAM simply stands for JavaScript, APIs and markup, and the core idea is to drop the servers altogether, host the code on fast, reliable and secure CDNs, and make browsers interact with the APIs which can take care of the "dynamic" component. For example, it doesn't make sense to put complex billing logic on your backend when you can just use Stripe's API — the browser is smart and powerful enough to make these API calls.

If you're willing to learn more about the JAMstack, we suggest to read their homepage and view these slides. Meanwhile, we'll take a look how to deal with the content in a JAMstack setup.

Why a CMS is necessary

When you build a website which involves a lot of content that is highly varying in terms of structure and is being constantly created or updated, it's necessary to give the content creators good tools to work with (editing YAML files is not as much fun as some might think). These tools are normally called content management systems.

What's wrong with the existing CMSes

The architecture of a traditional CMS — say, Wordpress or Drupal — is incompatible with the JAMstack approach. These CMSes were built with very different ideas about content management in the first place: server- and database- centric and highly coupled. Also, these CMSes tend to produce all your front-end code as well, and that's not something you want to have. Instead, you need a simple instrument to create the content which can later be integrated into the JAMstack.

Content as a service (with an API included)

An alternative approach would be to use a CMS that delivers the content via an API. The editors would create and edit content in a very familiar fashion, whereas as a developer you would simply make an API call every time you need to insert content in your pages. This is a win-win for everyone, and this approach allows building fully custom web experiences from scratch, not being limited by the CMS, as you choose your stack yourself.

Contentful, a JAMstack-ready CMS

To quote the JAMstack author, "the JAMstack uses markup languages like HTML, CSS and Markdown to format and style our content, client-side Javascript to make it interactive and engaging and APIs to add persistence, real-time sync, real-world interactions, comments, shopping carts, and so on."

This philosophy plays perfectly well with Contentful — an API-centric, developer-friendly content management platform. It comes with an API to fetch the content and put it into your sites and apps. The content is of course formatted in Markdown (hello, JAMstack), and there's a web app where editors create it. We've built a reliable content delivery infrastructure behind it, and there are many SDKs for all the major programming languages, which greatly simplifies building projects with Contentful.

Take a look at our website to learn more about the product. And, as Mathias Biilmann puts it: spread the JAM!

Discover more Contentful.

If you enjoyed this article, you might like our product as well.

What our product does

Take a look at the API capabilities, delivery infrastructure and friendly editing environment.
See features

What our clients built

From apps and sites to digital signage and iBeacon campaigns — we deliver content everywhere.
See real-life examples