UNPKG

utquidem

Version:

The meta-framework suite designed from scratch for frontend-focused modern web development.

31 lines (18 loc) 2.12 kB
--- title: Serverless 开发范式 --- 之前的章节中,我们用来渲染联系人列表的数据,都来自代码中的 Mock 数据。 本章节中,我们将介绍如何通过 BFF 获取数据。 在这之前,我们先回顾下上一章节 Demo 中的联系人列表应用,它有多种运行方式,比如: - `pnpm run dev:esm` - 在本地开发环境中用于 Unbundled 调试 - `pnpm run build && pnpm run start` - 在任何环境中等价的正式运行 无论哪种方式,整个应用在运行时(runtime)都是一个【 Universal App 】,既有客户端部分(在客户端运行的 App 代码和框架代码),也有服务器端部分(框架内置的 Static Web Server SSR Server,在 SSR 环节运行的 App 代码和框架代码)。 但开发者对服务器几乎是无感知的,开发环节并没有专门写 server 代码,运行和部署的时候,也不跟具体 server 打交道,不需要运维 server,开发者可以专注于产品本身。 这种开发范式,我们称作 Serverless Web Development。 其中的 SSR 技术,我们称作 Serverless SSR,实现了 SSR 在开发、运行、部署全流程中的 Serverless。 从本节开始,我们要接触 Serverless Web Development 的另一部分:Serverless BFF,跟 SSR 一样,能实现 [BFF(Backends for Frontends)](https://microservices.io/patterns/apigateway.html)在开发、运行、部署全流程中的 Serverless。 :::info 我们这里说的 BFF,不是指任意的面向客户端程序的服务器端 API,而是是更纯粹、狭义的 BFF,指专门服务特定客户端程序、特定产品 UI 需求的服务器端 API。 这种 API 更适合跟客户端代码在一起实现、调试、运行和部署,由同一个/批开发者负责。 简单情况下这种 API 做的是对更底层 API(比如各种微服务)的聚合、映射、裁剪、代理等,复杂情况下也会访问数据存储(比如应用数据库、缓存等),有服务器端 Model 等业务逻辑分层,但都倾向于只维护很薄的一层服务器端业务逻辑。 :::