向五岁孩子解释“无头”
你可能已经无数次地见过“无头”这个词了。现在有太多平台、服务和框架都采用了无头架构。Medusa 就是一个例子,它是一个无头商务平台。
但无头系统究竟是什么?它为何会成为一种潮流?
在本文中,我将尽可能简化“无头架构”的含义。我还会介绍无头架构的一些优势以及一些流行的无头架构趋势。
什么是 Headless
无头架构的正式解释是前后端分离。但这究竟意味着什么呢?
现实生活中的例子
以 PlayStation(或任何其他你喜欢的游戏机)为例。当你购买 PlayStation 时,你购买的是一款可以玩游戏、管理存储和设置等功能的游戏机或设备。
不过,你可以随意将它连接到任何你想要的显示器或电视上。你只需要一根适合你的显示器和 PlayStation 的线缆,就能看到并玩游戏了。
本例中的 PlayStation 主机就是一个无头服务器。它包含执行特定功能以及存储和管理数据所需的所有逻辑。这是它的主要关注点。它并不关心如何将这些功能和数据呈现给用户。
无头服务器会公开一组 API,用于访问服务器的功能和数据。这些 API 就像 PlayStation 上的 HDMI 端口一样。
这些 API 的设计方式是针对服务器进行优化的。它并不关心谁或什么在使用这些 API。想要使用这些 API 的用户只需遵循其设计,即可允许用户执行服务器提供的功能或向用户呈现数据。
真正含义
传统的单体架构将前端与后端紧密绑定。这意味着任何后端的决策都可能影响或受前端的限制,反之亦然。
无头架构消除了两个组件之间的绑定。后端应该专注于处理逻辑和数据,而不应该关注如何将数据呈现给用户。
同样,前端应该专注于如何提供良好的网页设计和用户体验。它应该允许用户以直观的方式执行一系列功能并与数据交互。
这种分离可以通过确保后端公开精心设计的 API 来实现,前端可以使用这些 API 为用户提供图形界面。无论前端是网站还是应用程序,都应该能够以相同的方式访问后端。
为什么要使用无头架构
无头架构为后端和前端都带来诸多优势。为了简单起见,以下列出了各自的一些优势:
后端
- 您在设计 API 或内部架构和逻辑时拥有更大的自由度。这消除了开发人员以前遇到的许多 hack 解决方案。
- 您的后端将更具可扩展性,并且您可以轻松地将其与第三方服务集成。
- 您的后端更安全,因为用户将与前端交互,并且后端和前端通常是分开托管的。
前端
- 您在选择框架、设备或编程语言方面拥有更大的自由度。您可以使用 Gatsby 等框架来创建速度更快的静态网站。
- 您可以专注于前端的设计和用户体验,而不会受到后端的拖累。
- 您可以降低托管前端的成本,因为前端本身有更灵活的解决方案,而不是紧密结合的前端和后端。
热门无头趋势解析
目前,最流行的无头趋势是无头内容管理系统(CMS)和无头商务。
这两个概念越来越受欢迎,因为它们为开发人员和整个系统带来了强大的力量。
无头CMS
无头 CMS 是一种允许您管理内容,而无需担心内容如何呈现或以何种方式呈现的 CMS。这允许您只需调用无头 CMS 公开的 API 即可将 CMS 集成到您自己的任何系统或网站中。例如Strapi或Contentful。
无头商务
无头商务是一个通过 API 提供所有基本结账功能的平台。您可以使用任何框架或任何设备构建用户可交互的店面。Medusa 就是一个示例。
您还可以将无头 CMS(如 Strapi)与无头 Commerce(如 Medusa)无缝集成,以构建具有丰富 CMS 功能的电子商务平台。
结论
无头架构能够带来更佳的开发者体验、高度可扩展的应用程序以及更高性能的网站。随着时间的推移,无头架构只会越来越受欢迎,因此,更好地理解它至关重要。
如果您有兴趣开始使用无头商务,请查看Medusa 的快速入门指南,在几分钟内开始使用。
文章来源:https://dev.to/medusajs/headless-explained-to-a-5-year-old-56bh