Do you need to know CMS as a back-end developer?

Updated Apr 06, 2022 ⤳ 3 min read

A Content management system is a web application used to create a website and manage its content.

If all you need is a personal or company website, and you need a quick and hassle-free solution, a CMS is a wise option.

Sometimes you still need some programming and database knowledge to customize a CMS-built website.

Most of the time, however, you won’t need that level of customization.

A CMS consists of two major components:

  •  The admin panel enables users to manage the content.
  • The presentation layer (a.k.a theme), used to display the content.

Admin panel is where site admins (even without web development knowledge) can create and manage web content through a set of CRUD interfaces – provided by the CMS.

With the help of a CMS, you can add various content types to your websites, including articles, news, products, portfolios, photos without knowing how to code.

A theme is a collection of templates you use for different pages on your website.

You can either create your theme from scratch (which requires some programming) or use a pre-made one suitable for your business.

Photo by Pixabay (remixed) from Pexels

Using a CMS versus writing everything from scratch

Although you can still use advanced technologies to create and manage websites, a CMS is a wise option for content-heavy websites, such as online newspapers, blogs, online magazines, or even medium-scale online shops.

WordPress and Drupal are two of the most popular Content Management Systems in the market – both written in PHP programming language.

If you’re wondering which one to start with, you may consider WordPress as it has 61% of the CMS market share.

Most freelancers use a CMS to build their clients’ websites.

Headless Content Management Systems

A headless CMS is a CMS without the presentation layer (the themes).

A headless CMS allows you to create content, but it doesn’t help you display it.

However, it provides an API (usually a RESTful API) for other programs to access the content.

You usually use a headless CMS with static site generation frameworks, like Nuxt.js, Next.js, and Gatsby.

Static site generators fetch the content from the headless CMS’s API, place them in templates (that you create) and save them as static files.

Static websites have lower costs, and yet have a high level of reliability.

They are perfect for small to medium-scale websites depending on the content they provide.

With a static website, you no longer have to worry about setting up a production environment.

Because you’re dealing with ready-to-serve files, you can use a CDN like S3 to host your website.

You can also use a fully managed service like AWS Amplify or Google’s Cloud Storage.

If you decide to have a static website instead of a dynamic one, a headless CMS and a static site generator are the tools you need.

Disclaimer: This post may contain affiliate links. I might receive a commission if a purchase is made. However, it doesn’t change the cost you’ll pay.