作者:孙然(煮虾)
协同引擎是钉钉面向跨平台终端并解决分布式数据一致性的 Runtime 与开发框架。
它主要解决三类场景问题:
- 多人实时协同
- 跨端同步与应用状态接力
- 离线可用 Local First
同时,它也是面向开放的。一方产品可以用,三方开发者(小程序、H5 应用)也可以用。
协同引擎Demo Show
多人实时协同:一起标注
从钉钉客户端 6.0.0 开始,消息会话里的图片新增了“一起标注”功能。群成员可以对一张图片进行同时勾画,并且所有人都能看到其它人的实时笔迹:
在这里,协同引擎 SDK 提供了一套 CoCanvas(协同画板)组件,图片消息通过引用 CoCanvas 组件快速组装出多人协同能力。除了解决多人实时数据(笔迹数据)的协同问题,协同引擎还提供了当前正在协同的参与者信息,用于业务实现展示诸如“多少人正在标注”信息的功能。
跨端同步:聊天草稿
你是否有遇到过这样的场景:手机上编辑到一半的东西,回到电脑前想继续编辑?或者,手机上截了个图,要在电脑上继续编辑。现在看来,你得在手机上先把信息或图片发给自己,然后再在电脑里下载下来继续操作。整个流程会被跨端传输过程打断。
如果用协同引擎,整个流程或许可以变成这样——你可以实现端到端的输入同步:
或者在一端复制,直接在另一端粘贴: