598 字
3 分钟
2026 后端趋势:Local-First 架构与 CRDT 的复兴
什么是 Local-First?
Local-First 软件是指优先在本地设备上读写数据,然后通过网络在后台同步的软件。
这不仅仅是“离线模式”。它的核心理念是:你的数据属于你,且就在你的设备上。即使服务器爆炸了,你的应用依然能跑,数据依然在。
为什么现在火了?
过去我们做不到,是因为数据同步太难了。如果两个人在离线状态下同时修改了同一个文档,联网后怎么合并?谁覆盖谁?
这就引出了今天的猪脚:CRDT (Conflict-free Replicated Data Types,无冲突复制数据类型)。
CRDT:数学魔法
CRDT 是一种数据结构,它保证只要所有参与者最终收到了相同的操作集合(顺序不限),大家的状态就是一致的。不需要中央服务器来裁决冲突。
两个主流的库:
- Yjs:性能极高,生态丰富(支持 Quill, ProseMirror, Monaco)。
- Automerge:学术背景深厚,基于 JSON-like 数据结构。
新玩家:SQLite in the Browser (WASM)
随着 WASM 的成熟,我们现在可以直接在浏览器里跑完整的 SQLite。
PGLite 和 SQLite WASM 让前端拥有了真正的关系型数据库能力。配合 ElectricSQL 这样的同步引擎,你可以实现:
- 前端直接写 SQL 查询本地数据(零延迟)。
- ElectricSQL 在后台悄悄把数据同步到 Postgres 后端。
- 后端如有变更,实时推送到前端 SQLite。
架构的范式转移
传统架构: Client -> REST API -> Server -> Database
Local-First 架构: Client App <-> Local DB <—(Sync Protocol)—> Server DB
服务器不再处理业务逻辑,它降级成了一个单纯的数据同步中继 (Sync Relay) 和 备份节点。
这对开发者意味着什么?
- 再见了,Loading Spinner:所有操作都是本地 IO,界面响应是瞬时的。
- 大大简化的后端:你可能不再需要写大量的 API 接口,只需要配置好同步规则。
- 挑战:需要处理更复杂的客户端状态管理,以及数据权限控制(Row Level Security 变得至关重要)。
结语
Web 开发的钟摆正在摆回“胖客户端”。辉哥预测,在接下来的两年里,Local-First 将成为构建协作类 SaaS (如 Notion, Figma 类应用) 的默认标准。准备好拥抱这个变化了吗?
2026 后端趋势:Local-First 架构与 CRDT 的复兴
https://www.oferry.com/posts/a27/