BlockSuite 协作编辑器开源项目

我要开发同款
匿名用户2023年02月08日
224阅读
开发技术TypeScript
所属分类可视化HTML编辑器、Web应用开发
授权协议MPL

作品详情

BlockSuite是一个多人协作编辑器,支持多用户同时编辑一份文件,并且可以即时看到对方的编辑。BlockSuite基于local-first理念,底层使用了CRDT库yjs,还支持嵌入到任意不同框架(React、Vue、Angular)。

BlockSuite的工作方式不同于传统的富文本编辑器:

在数据模型上,BlockSuite没有实现事件溯源模式(eventsourcing),而是提供了一个直接基于 Yjs的block树(底层采用CRDT),支持开箱即用。它的数据持久层也被设计成本地优先(local-first)。对于富文本编辑,BlockSuiteblock树中的多个不同节点可以连接到不同的富文本编辑组件,从而将富文本内容建模为多个UI组件而不是单个UI容器,从而消除了危险的单体应用contenteditale。对于渲染层,BlockSuite并不假设内容只能通过DOM来渲染。它不仅实现了基于 WebComponents 的基本文档编辑UI,还为部分白板内容开发了基于Canvas的混合渲染器。两个渲染器可以共存于同一个页面上,并从同一个商店更新。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论