Notion 终于支持离线了!五年时间,终于!对一个为在线协同设计的内容工具,完全离线到底有多难?看看创始人 怎么说。
素材来源官方媒体/网络新闻
,
,
,
和 Apple Notes 相比\x0aNotion 跟 Apple Notes 这种单机存储的工具不一样,它是个协作平台,数据需要在成千上万人的工作空间里同步。\x0a\x0a和 Google Docs 相比\x0aNotion 不仅仅是简单的文档编辑,它更像一个复杂的“关系网络”,包含页面、任务、数据库等互相链接的内容。这种复杂性让离线功能的开发变得超级有挑战。\x0a\x0a在线冲突怎么解决?\x0a为了实现离线协作,Notion 团队得解决一个大难题:当多个人同时离线编辑同一内容时,怎么处理冲突?他们为此开发了一个超大的 CRDT 系统(一种解决数据冲突的技术),团队成员为此写了一篇论文!这部分技术含量很高,Notion 在背后下了很多功夫。\x0a\x0aNotion 的数据库\x0aNotion 的数据库功能也很复杂,每个单元格可能链接到无数层页面。为了让离线模式可行,他们在第一版(v1)中限制了离线数据库默认只支持 50 行,但未来会继续扩展。\x0a\x0a在线到离线的全面排查\x0a最后,Ivan 提到 Notion 的代码最初是假设用户一直在线的,所以他们得重新检查数千个功能,确保离线时也能正常工作或至少不崩。这几乎动员了整个工程团队,耗费了好几个月时间。从去年 Notion 大会上预告到现在,终于把这个功能推出来了。\x0a\x0a总结来说,Notion 的离线功能是个大工程,涉及复杂的技术挑战,比如数据同步、冲突处理和数据库优化。现在的 v1 版本只是起点,未来还会持续改进,目标是让 Notion 无论在线还是离线都能无缝使用,真正做到“随时随地,随心所欲”。