42. Headless CMS
Before we introduce the headless CMS, we should know what is a traditional CMS. It is a software that we have to install or managed by ourselves or managed by a server. All the functionality and assumptions are packed together for them to work in a single system. What you see is what you get as they only have one context for presenting the content. The advantage is easy to set up, even without programming background, users can set it up. Also, as backend and frontend are linked closely, no need for extra integration. However, it is difficult to transfer to other devices other than websites and less room for creativity as it simplifies the website management. Examples for traditional CMS are WordPress which is quite popular and ButterCMS.
However, for headless CMS, it is a content management system that separates the area that the content stored which is the body from the area it is presented which is the head. That means, the content of your web app can be stored in the headless CMS and be able to be sent to anywhere you want it to display. They will provide user an interface for managing content and provide the content via APIs which web developers can make use for query and build applications. The advantage are including easy to store and manage with a destinated platform, room for third-party platform to integrate which is much more flexible. However, it is ddifficult to edit the UI as it is a built-in one and requite professional developers to integrate and manage. Examples for headless CMS are Strapi and Sanity
For developers, we should try to make use of the headless CMS as it is flexible and got room for creativity. I learnt about Strapi and used it together with GraphQL and Apollo client in building a E-commerce site, it is fun to make use of them to build my projects.
