Headless CMS:以API为输出方式的内容中心

 

我们先解释一下什么是Headless CMS,Headless即无头,就是无头CMS,即没有显示/头像的CMS,也就是长什么样子不管,只需要管构建主干(内容)部分。

       (1)Headless CMS,负责内容结构的构建,比如文章、视频课程等。

       (2)Headless CMS,负责内容的增删查改,如创建文章,修改文章。

       (3)Headless CMS,有比较完备的API接口,比如JSON API,GraphQL等。

       (4)Headless CMS,一般配合前端框架,比如Vue.js等搭配使用。

       (5)Headless CMS,要做SEO,可以通过SSR的方式,服务器端生成,而达到SEO的目标。

 

所以,我们看到小程序、APP其实都是后端有一套系统,比如电商的,就有电商系统(库存、订单、物流等),视频播放就有视频管理(视频、发布、删除、评论等),图片的、新闻的都是一样。

因此,我们在构建APP/H5/小程序等系统时,首先要选择一套后端的管理系统,作为内容管理,我们推荐的CMS就是开源的Drupal系统。

      

Drupal的内容管理体系

 

之前讲过很多Drupal的内容管理体系,Drupal本身可以完整并且高效的构建我们想要的任何类型的内容,可以通过Drupal后台即可操作完成,如下所示Drupal的后台界面,

 

 

Drupal如何构建Headless CMS

 

Drupal构建完成了内容,剩下的就是API了,Drupal本身支持多套API,我们列举一下:

       (1)REST API,Drupal 7/8本来默认的API,REST本身也比较流行,所以本身的REST功能也很强大。

       (2)JSON API,后期新秀,JSON的功能强大,几乎可以完成任何想要的内容查询,因此JSON API逐渐替代了REST API的地位,目前JSON API已成成为Drupal 9的核心模块,也是默认的API。

       (3)GraphQL,Drupal有第三方模块GraphQL,该模块的安装量在2400多,可见还是比较稳定并且实用的模块,该模块可以提供GraphQL的构建,因此可以完成GraphQL的API构建。

       (4)自定义Controller,Drupal本身是基于MVC的,因此定义个Controller也非常简单,几行代码就可以,Response一个JsonResponse就可以了,所以,一些稍微特殊的数据,直接写Controller比找第三方模块要简单很多。

 

 

Headless CMS的架构

 

基于Drupal的Headless的架构,整体上是前端使用VUE、React等框架,后端通过API输出内容,可以参考如下图所示的架构,

   

 

当然,Drupal本身也有一个Headless Drupal,也可以直接拿来试一试。

更多内容管理系统,请参考我们其他相关文章,

1、构建英文网站应该用什么框架?

2、内容管理平台是选择传统的 CMS 还是 Headless CMS?

3、常见的CMS平台比较

4、外贸网站如何实现网站多语言版本开发?

5、如何基于开源系统构建资料库/文档库平台

6、如何建设在线展览和多媒体展览?

7、在线展览和多媒体展示建设方案