什么是 Headless CMS?

时间:2023-02-02 12:57:39

什么是 Headless CMS?

Headless 内容管理是当今 Web 设计的关键开发,它将前端客户端应用程序与后端内容管理系统分离开。 因此,Headless CMS 负责(后端)内容管理服务,以及允许(前端)应用程序访问该内容的机制。

但这个词的真正含义是什么? 在这里,我们(非常快速地)介绍了关键概念。

什么是内容管理系统 (CMS)?

让我们从基础知识开始 – 什么是内容管理系统?

内容管理系统 (CMS) 存储、管理和提供用于提供在线体验的内容。

传统 CMS

传统上,CMS 既包含内容存储和投放的后端功能,又包含用于呈现浏览器将显示的体验(表示层)的标记的前端技术。

功能非常强大,能让您完全控制内容和格式,但缺少当今快速变化的环境中所需的一些灵活性;例如,与外部应用程序连接时。

Headless CMS

有了 Headless 内容管理系统,后端和前端现在是相互分离的。

无头部分是内容后端,因为无头内容管理系统 (CMS) 是一种仅用于后端的内容管理系统,其明确作为内容存储库而设计和构建,使内容可通过 API 访问并在任何设备上显示。

前端是独立开发和维护的,它使用内容投放 API 从 headless 后端提取内容,通常采用 JSON 格式。 例如,这可以是 React 或 Angular 应用程序(单页面应用程序 (SPA))。

Headless CMS 后端通常要求内容根据模型或架构进行结构化。 这有助于客户端应用程序请求呈现体验的正确内容。 某些 CMS 可以以 JSON 格式公开结构化和非结构化内容。

此拓扑的一个关键特征是,headless CMS 以 JSON 格式提供的内容是纯内容,不包含设计或布局信息。 在 headless CMS 实施中,所有格式和布局都由分离的前端应用程序来维护。

Headless CMS 拓扑的一个主要优势是能够跨多个渠道重复使用内容,这些渠道可能使用不同的客户端前端实施。 这可以提高前端开发流程的效率。 但这也意味着前端体验开发过程可以变成非常代码和以 IT 为中心的过程,而 IT 基本上拥有这些体验。

什么是 Headless CMS?

内容投放 API

Headless CMS 可以提供一种或多种方法,将内容公开给客户端应用程序。 最常见的 HTTP REST API、GraphQL API 或两者兼而有之。

虽然 REST API 通常看起来是一种更轻松的内容请求方式(例如,为符合条件的所有内容提供 JSON),但通常会向客户端应用程序投放过多的内容。 这可能导致客户端必须解析并过滤掉实际需要呈现的内容。

相比之下,GraphQL 是一种更集中的机制,它允许客户端应用程序查询呈现体验所需的确切内容。

全栈 CMS

全栈 CMS 通常表示用于内容管理和投放的传统拓扑,包括用于呈现体验的内容后端和前端技术。 全栈 CMS 中的内容投放通常通过内部内容投放 API 进行。前端功能通常特定于全栈 CMS。 前端技术与内容后端的这种耦合,使得即将实现即得 (WYSIWYG) 体验创作成为一项关键优势。

混合 CMS

全栈 CMS 的现代发展可以是混合 CMS。 这意在将两个领域的优点结合起来:

  • 使用现代前端工具跨渠道高效前端开发,
  • 同时保留 WYSIWYG 体验创作,以增强非技术用户的能力,并避免 IT 成为跨组织内容和体验管理的瓶颈。

这是通过采用现代前端框架(如 React),但与内容后端保持基本的最小耦合度来实现的。

解耦 CMS

虽然“解耦 CMS”一词有时是独立使用的,但它通过强调其与客户端前端应用程序去耦的关键特性,本质上描述了 headless CMS 后端。

Headful CMS

这是传统 CMS 的另一个术语。