什么是 Payload?

Payload 是 Next.js 全栈框架。 编写一个 Payload 配置即可立即获得:

  • 完整的 Admin Panel(管理面板),使用 React 服务端/客户端组件,完全匹配你的数据结构,并可通过自定义 React 组件进行扩展
  • 自动生成的数据库 schema,包括直接数据库访问和所有权,支持迁移、事务、索引优化等功能
  • 即时可用的 REST、GraphQL 和直接访问数据库的 Node.js API
  • 可在你自己的应用中使用的认证系统
  • 深度可定制的访问控制模式
  • 文件存储和图片管理工具(如裁剪/焦点选择)
  • 实时预览 —— 在更新内容时实时查看前端渲染效果
  • 以及更多功能

即时获得后端超能力

无论你在构建什么,Payload 都能为你提供后端超能力。你的整个 Payload 配置只需一行命令就能安装到任何现有的 Next.js 应用中,旨在加速你的开发流程。Payload 将现代 Web 应用中最复杂耗时的部分变得简单易用。

开源 —— 可部署到任何地方,包括 Vercel

Payload 采用 MIT 开源协议,你可以在任何能运行 Node.js 应用的地方自托管。也可以无服务器部署到 Vercel 等平台,直接集成到你现有的 Next.js 应用中。

代码优先且版本可控

在 Payload 中,没有"点击操作"——比如在管理面板中点击来定义你的 schema。Payload 采用正确的方式实现一切——像专业后端一样代码优先且版本可控。但开发者定义好 Payload 的工作方式后,非技术人员可以独立使用其管理面板来管理他们需要的内容,完全不需要懂代码。

完全可扩展

尽管开箱即用功能已经非常丰富,你仍然可以完全掌控应用的每个方面——无论是数据库、管理界面还是其他任何部分。Payload 的每个组件都设计为可通过现代 TypeScript/React 进行扩展和定制。而且你将完全理解自己编写的代码。

使用场景

Payload 最初是作为一个无头内容管理系统(CMS)开始的,但后来我们看到社区将其应用范围远远超出了简单的页面和博客文章管理。它已经发展成为一个全栈 TypeScript 应用框架。

大型企业使用 Payload 来驱动重要的内部工具,零售商无需依赖无头 Shopify 就能运营整个店面,海量数字资产也在 Payload 中进行存储和管理。当然,各种规模的网站仍然使用 Payload 进行内容管理。

无头内容管理系统 (Headless CMS)

在大型网络项目中,营销人员常提到的最大障碍是工程技术问题。而工程师们则持相反观点。尽管我们有无数CMS选择,这仍是一个尚未解决的大问题。

Payload通过实时预览、重定向、表单构建器、可视化编辑、静态A/B测试等功能,重新平衡了开发者与营销人员之间的关系。即便我们如此注重营销效率,也绝不牺牲开发者体验。这样工程师和营销人员都能为他们构建的产品感到自豪。

如果你正在构建网站且前端使用Next.js,那么Payload就是理所当然的选择。

与其去注册一个SaaS供应商(那会让你不得不管理两个完全独立的事务,几乎没有任何原生交互),不如直接在现有的Next.js仓库中安装Payload,立即获得一个完整的内容管理系统。

使用我们的官方网站模板开始使用Payload作为CMS:

npx create-payload-app@latest -t website

企业级工具

当大型组织启动新的软件计划时,有许多基础架构工作需要处理:

  • 使用 ORM 或 Ruby on Rails、Laravel 等应用框架搭建数据层
  • 集成单点登录(SSO)提供程序进行身份验证
  • 设计访问控制模式实现授权管理
  • 开发所需的 REST 端点或实现 GraphQL 查询/变更
  • 为数据库建立迁移工作流以应对后续变更
  • 通过构建 webhook 系统等方式集成第三方解决方案

此外还有管理后台。大多数企业工具都需要管理界面,而从头构建可能是最耗时的环节。虽然 Rails 等框架有现成的管理面板包,但定制需求往往复杂到还不如直接使用 Material UI 从头开发。

市面上也有无代码管理后台构建器可用。然而,将访问控制与数据层连接起来并确保版本控制,同样具有挑战性。

这正是 Payload 的价值所在。Payload 开箱即提供所有这些功能,使得复杂内部工具的初始搭建和长期维护变得极其简单。唯一需要编写的自定义代码就是业务逻辑。这意味着 Payload 可以缩短项目周期、控制预算,并让工程师专注于特定需求而非复杂的后端/管理界面基础架构。

通常,创建新企业工具的最佳起点是从空白模板开始,自行定义功能:

npx create-payload-app@latest -t blank

无头电商 (Headless Commerce)

注重用户体验的企业通常会在传统电商平台上面临前端限制。这些企业往往会选择像 Next.js 这样的前端框架,以便能够最大限度地优化用户体验——提升转化率、实现个性化体验并优化 SEO。

但使用 Next.js 等方案实现无头电商的挑战在于:为了让非技术人员能够管理店铺前台,你不得不将无头电商产品与无头 CMS 搭配使用。然后,你的编辑人员需要在不同功能的不同管理界面之间来回切换。前端上将这些系统无缝集成的代码会变得异常复杂。

Payload 可以与 Stripe 等任何支付处理器集成,其内容创作功能使其能够在一个地方管理店铺前台的所有方面。

如果你能用单一后端构建店铺前台,只将支付处理等任务外包,代码会更简洁,编辑体验也将大幅简化。在一个地方管理产品、目录、页面内容、媒体等所有内容。

数字资产管理

Payload 基于 API 的标签、排序和查询引擎完美适用于 CMS 通常存储的所有类型内容,这些强大的基础功能也使其成为一款出色的数字资产管理(DAM)工具。

与上述电子商务用例类似,如果一个组织使用 CMS 管理内容但使用单独的 DAM 管理数字资产,管理员就需要在紧密相关的任务中同时操作两个完全不同的服务。需要管理两个订阅账户、配置两套基础设施,同时学习和使用两个管理界面。

Payload 将 CMS 和 DAM 整合为单一工具,且两者功能都毫不妥协。基于文件夹的组织结构、文件版本控制、批量上传和媒体访问控制等强大功能,使 Payload 既能作为完整的数字资产管理平台,又能同时充当内容管理系统。

点击此处了解更多关于如何将 Payload 作为 DAM 使用的信息。

框架选择指南

Payload 适用于各种规模和类型的应用,但可能并非所有项目的最佳选择。以下指南可帮助你判断 Payload 是否适合你的项目。

适合选择 Payload 的情况

  • 如果你重视数据所有权和隐私,不希望由其他专有 SaaS 供应商托管和掌控你的数据
  • 如果你正在构建需要 CMS 的 Next.js 网站
  • 如果你需要在 SaaS API 之外重复使用数据
  • 如果你构建的内容具有典型 headless CMS 之外的自定义业务逻辑需求
  • 你希望在 Vercel 等平台上进行无服务器部署

何时 Payload 可能不适合你

  • 如果你的项目完全可以通过代码管理,不需要管理后台界面
  • 如果你要构建的网站完全适合使用 Webflow 或 Framer 这类工具
  • 如果你已经拥有完整的数据库,只是需要某种方式可视化数据
  • 如果你确信未来任何时候都不需要代码/数据所有权

准备好开始了吗?首先,让我们回顾一下 Payload 中使用的一些高层次概念。