@
agagega 开发个原生的成本, 1+1 远大于 2:
1. 原生本来就很花钱
2. 原生跨平台得弄好几遍, 有的东西很难搞
3. 需求还得跟现在一样, 很多 Rich editor 都是基于类似 DOM 的模型设计的, 有很多地方能偷懒, 用原生重写完全是重造轮子了
4. 写出来很长一段时间也都是 bug 满天飞, 很不好修, 比如网页和客户端复制粘贴之类的细节, Layout 和拖拽和网页行为不一致等等
PS: 编辑器 SAAS 这个领域其实很微妙, 还有一个因素是离线. 很多人因为没原生所以不用 Notion, 还有很多人因为没离线不用 Notion. 很多人用了 bear 之类的东西, 但是那些又没有很好的 collaboration. 因为离线和 collaboration 两个东西放在一起就巨难做:
一般 collaboration 是用 OT 算法写的(比如 Google doc 和所有类似产品, 我不太确定 Notion 是不是已经有了, 但是如果二选一他们肯定会选 collaboration). OT 就是服务器 facilitate 所有客户端来的 event 然后修改给每个客户端 broadcast 的 event 来达到最终一致的效果. 但是这种算法的缺点就是没法离线(比如 Google doc).
另外一种 collaboration 是用 CRDT 数据结构, 是可以自结合的数据结构, 可以离线很久之后自动合并, 能保证最终一致. 但是 CRDT 的问题是每种数据结构都要单独设计, 在大量字符串上面就有一些性能体积的问题, 如何完美解决这个问题现在还是一个学术前沿话题. 之前跟 Fuchsia 系统有点关系的 Xi editor 夭折一部分原因和尝试 CRDT 有关. (不过设计师用的 Figma 的节点是用 CRDT 解决的, 节点比字符串文档单纯一些)