Figma 的多人协作编辑:一个简化版的 CRDT 实现
2025-08-19

Figma 四年前开始构建多人协作功能,最初并未采用流行的 Operational Transform (OT) 算法,而是选择构建更简单的自定义系统。这源于他们快速迭代的需求和对 OT 复杂性的顾虑。文章详细阐述了 Figma 多人协作系统的架构,包括客户端/服务器架构、WebSocket 通信、离线编辑能力以及数据同步机制。虽然受到 CRDT (Conflict-free Replicated Data Type) 的启发,但 Figma 的实现并非严格遵循 CRDT 的规范,而是利用其思想,结合中心化服务器的优势,构建了一个更高效、更简洁的系统。文章还对 OT 和 CRDT 进行了对比,并深入探讨了 Figma 数据结构的设计以及如何处理一些边缘情况。
开发