在线协作软件的三个核心引擎
在线协作软件的三个核心引擎
总览
纵观市面上的所有协作软件,无论是Google Docs 还是 Notion,还是 Mira 或者Evernote,优秀的协作软件必然由三个核心引擎构建:渲染引擎,协同引擎以及数据引擎
如何理解三个核心引擎,我们从用户视角来看:
渲染引擎:
对于在线文档,渲染引擎就是文字编辑器。
对于在线表格,渲染引擎就是电子表格编辑器。
对于在线幻灯片,渲染引擎画布编辑器。
对于在线脑图,渲染引擎就是mind编辑器。
对于在线BI,渲染引擎就是布局设计器以及图表设计器。
....
协同引擎
协同引擎理解起来稍微复杂一点,协同引擎存在的目的,本质就是保持各个终端在展示同一个内容模型时,能够在单个操作消费到模型之后,模型保持一致,所以协同引擎需要处理操作涉及的各个阶段的情况:
阶段1 - 客户端发送操作,
操作等待同步给Server(其他协作者) pendingCommmands
操作同步给Server(其他协作者) sendingCommands
操作已同步给Server(其他协作者) sentCommmands
阶段2 - 客户端模型消费操作
操作作用于Model之后,客户端的Model应当与服务端的Model保持一致
如何保持一致,各个厂商之间各显本领,有JavaScript组合Nodejs,有Rust组合WebAssembly,有Java GWT组合JavaScript。
阶段1和阶段2在协同引擎是非常重要的,如何保持协作的即时性以及数据的一致性和健壮性,非常考验这部分的设计
数据引擎
不同的协作软件的数据引擎是不同,例如:
Word - openxml的设计
Etherpad - 采用字符串 Z:1>6b|5+6b$Welcome to Etherpad!
Google Docs Word - 采用一个commands集合的设计
Google Docs Spread - 设计比较想Excel,但是使用的protobuf
Notion - 很明显是结构化的属性数据,并且使用CRDT的冲突解决数据结构
好的数据引擎通常有这些特点:
数据传输的稳定性
数据的可维护性
数据的存储性能
数据引擎不等于视图模型
天然支持数据冲突解决方案,扩展性看CRDT,性能看OT
对于其他软件导入导出的扩展度(例如在线文档导出Word)
如果你是一个在线软件创作者或者商业产品创业者,你需要去自研这渲染引擎,协同引擎,数据引擎吗?我的答案是不需要,你完全在Starup阶段,找到对应领域的合适技术选型,选择做出你协作软件的MVP,当自研能够成为你的壁垒或者优势,再选择自研。
在线协作软件的三个核心引擎相关推荐
- 推荐一款好用的团队在线协作软件
在日常工作中,熟练使用办公软件俨然成为一位职场人士必备的职业技能,工作中常用办公类的软件可以使日常工作精简化,节约工作的时间:也可以说,日常工作中用办公类的软件可以大大地提高工作的效率. 当完成一项工 ...
- android 评测软件,Android平台五款主流在线视频软件横向评测
Android软件中的在线流媒体视频已经出了不少了,本篇评测就是针对目前主流的5款Android在线视频播放软件进行一个横向评测,让您全面了解其个特性. 参评游戏: 评测项目 多款Android视频播 ...
- processon.com - 在线团队协作软件(草巾冒小子)推荐 - 资源篇
processon.com - 在线团队协作软件 今天学到一个在线团队协作软件:www.processon.com 免费在线作图,实时协作 ProcessOn 支持以下等等协同作业场景: 流程图. 思 ...
- 【快速远程桌面应用程序】上海道宁为您提供远程桌面软件——AnyDesk,轻松实现远程支持和远程维护以及在线协作、远程工作
AnyDesk是一款 快速远程桌面应用程序 可以让您远程访问和管理设备 轻松的.安全的与任何人协作 上海道宁专注于软件工具经销 为您带来强大的 远程桌面软件--AnyDesk 您可以从任何地方轻松连接 ...
- 不容错过的在线协作设计软件合集
随着互联网的日益发展,协同工作的需求也正在逐渐扩大.传统的本地软件对于协同工作的支持度基本为零,越来越难以满足现代人的工作需求. 于是,在线协同工作软件随着需求诞生,功能越发多样,使用感越发流畅,正在 ...
- BPMN流程图在线制作-支持flowable,activit,camunda三种工作流引擎
项目背景 在后端开发领域,工作流算一块难点. 在实际业务当中.比如OA,CRM 等各种系统.都需要和工作流打交道. 市面上现在主要流程Activit,Flowable, Camunda 三款工作流引擎 ...
- 马斯克辞任CEO,产品经理如何用项目协作软件武装自己?
自马斯克接管推特以来,已经发起了多轮裁员潮,仅第一波就裁掉了50%的员工.11月14日,马斯克开启第二波裁员.而IT之家 12 月 21 日消息,埃隆・马斯克在推特发文对网友的投票结果做出回应,称会尽 ...
- SCUT01在线协作白板技术解决方案
在七牛云校园黑客马拉松中,来自华南理工大学的SCUT01团队,为我们带来了UI精美.体验优秀的白板作品,在大赛中获得二等奖的好成绩.以下是这款在线协作白板的技术解决方案. 背景 疫情背景下,线上课堂. ...
- 在线协作文档综合评测 :金山文档、腾讯文档、石墨文档
在线协作文档综合评测 :Notion.FlowUs.Wolai.飞书.语雀.微软 Office.谷歌文档.金山文档.腾讯文档.石墨文档.Dropbox Paper.坚果云文档.百度网盘在线文档 如今, ...
最新文章
- R语言使用table函数计算单分类变量的频率表(frequency table)、使用prop.table函数将table函数计算获得的频率表转化为比率表、返回单分类变量每一个类别的比率、或者百分比
- VMWare克隆出多个操作系统
- 微信小程序中换行,空格(多个空格)写法
- Hibernate Session的Flush模式
- verilog基础篇RAM IP核的使用
- 隐马尔可夫模型 HMM 原理及实现
- C#一探究竟——枚举
- 图灵奖公布!计算机图形学先驱 Hanrahan 和 Catmull 获奖,祝贺两位好莱坞 3D 动画大片技术元老...
- 视频剪辑软件对比之:会声会影与剪映
- apache常用模块介绍
- JsonView 使用方法
- MTK手机刷机包打包步骤
- 先进核反应堆 ——新能源概论结课作业
- 使用用AI制作logo图标教程
- Oracle前期准备
- diff比较两个目录时,如何略过特定目录或文件
- Mac M1安装pycharm专业版,幼儿教学
- SHR和SAR移位指令
- 你来讲讲AQS是什么吧?都是怎么用的?
- 怎么查看建筑图纸?有什么技巧吗?
热门文章
- 唐僧师徒的成功之道:四个人,四种秘诀!
- 李开复谈学习:学会“无师自通”
- 数字ic设计——AMBA总线(1)AMBA总线介绍
- java计算机毕业设计智能拼车系统源码+数据库+系统+lw文档+mybatis+运行部署
- 河北优威环保对关于热水消毒设备AOT光催化一体机的应用原理讲述
- R与神经网络之Neuralnet包
- 删除之后在计算机操作中快捷键,删除的快捷键是什么?电脑删除的快捷键在哪?...
- OpenGL中绘制轨迹线
- 基于php的合同管理系统
- APS入门7-数字化车间智能排产调度实战