本地优先Local-First
Local-First 架构的核心原则与同步思路。
#status / growing
#type / concept
[!info] related notes
本地优先_Local-First
这是近年来随着 Notion, Linear, Obsidian 等应用兴起而流行的新架构,也是你目前正在设计的架构。
-
核心逻辑:Client is the Source of Truth (客户端是主要真理)。
-
工作方式:
- 应用启动时,完全不理会服务器,直接读取本地数据库 (IndexedDB/SQLite)。
- 所有的增删改查(计算优先级、过滤目标),全部在本地完成,无需网络。
- 同步(Sync)只是一个后台特性。如果有网,就把数据“备份”到云端,或者“分发”给你的另一个设备。
- 最极端的测试:如果你的 API 服务器永久倒闭了,你的 Local-First 应用在用户的手机/电脑上依然能完美运行一辈子(除了不能同步给别人)。
-
典型例子:
- Git:你在本地 commit 代码不需要联网。GitHub 只是一个用来交换代码的服务器。
- Obsidian:笔记就在你硬盘里。
- Linear:操作极其丝滑,因为它在本地处理一切,后台默默同步。