598 字
3 分钟
2026 后端趋势:Local-First 架构与 CRDT 的复兴

什么是 Local-First?#

Local-First 软件是指优先在本地设备上读写数据,然后通过网络在后台同步的软件。

这不仅仅是“离线模式”。它的核心理念是:你的数据属于你,且就在你的设备上。即使服务器爆炸了,你的应用依然能跑,数据依然在。

为什么现在火了?#

过去我们做不到,是因为数据同步太难了。如果两个人在离线状态下同时修改了同一个文档,联网后怎么合并?谁覆盖谁?

这就引出了今天的猪脚:CRDT (Conflict-free Replicated Data Types,无冲突复制数据类型)

CRDT:数学魔法#

CRDT 是一种数据结构,它保证只要所有参与者最终收到了相同的操作集合(顺序不限),大家的状态就是一致的。不需要中央服务器来裁决冲突。

两个主流的库:

  1. Yjs:性能极高,生态丰富(支持 Quill, ProseMirror, Monaco)。
  2. Automerge:学术背景深厚,基于 JSON-like 数据结构。

新玩家:SQLite in the Browser (WASM)#

随着 WASM 的成熟,我们现在可以直接在浏览器里跑完整的 SQLite。

PGLiteSQLite WASM 让前端拥有了真正的关系型数据库能力。配合 ElectricSQL 这样的同步引擎,你可以实现:

  1. 前端直接写 SQL 查询本地数据(零延迟)。
  2. ElectricSQL 在后台悄悄把数据同步到 Postgres 后端。
  3. 后端如有变更,实时推送到前端 SQLite。

架构的范式转移#

传统架构: Client -> REST API -> Server -> Database

Local-First 架构: Client App <-> Local DB <—(Sync Protocol)—> Server DB

服务器不再处理业务逻辑,它降级成了一个单纯的数据同步中继 (Sync Relay)备份节点

这对开发者意味着什么?#

  1. 再见了,Loading Spinner:所有操作都是本地 IO,界面响应是瞬时的。
  2. 大大简化的后端:你可能不再需要写大量的 API 接口,只需要配置好同步规则。
  3. 挑战:需要处理更复杂的客户端状态管理,以及数据权限控制(Row Level Security 变得至关重要)。

结语#

Web 开发的钟摆正在摆回“胖客户端”。辉哥预测,在接下来的两年里,Local-First 将成为构建协作类 SaaS (如 Notion, Figma 类应用) 的默认标准。准备好拥抱这个变化了吗?

2026 后端趋势:Local-First 架构与 CRDT 的复兴
https://www.oferry.com/posts/a27/
作者
辉哥
发布于
2026-02-04
许可协议
CC BY-NC-SA 4.0
封面
示例歌曲
示例艺术家
封面
示例歌曲
示例艺术家
0:00 / 0:00