Local-First 与可 Eject:确保数据长期可访问
文章探讨了如何确保云应用数据的长期可访问性。核心观点是结合Local-First和可Eject特性。Local-First保证用户拥有数据所有权,而可Eject功能允许用户随时“弹出”云端,通过下载本地服务器程序和数据文件,实现自托管,确保应用功能和数据在云服务关闭或变质后仍可使用。这种设计兼顾了云应用的便利性和传统桌面软件的持久性,并支持可逆操作,从而保障了用户对数据的长期控制。
Local-First & Ejectable
要确保你可以永久完全访问云应用中的数据,一个重要的要求是让后端同步服务器能够进行本地自托管。这就是 EJECTABLE 应用的意义所在。
Local-first 让用户能够享受云应用带来的所有好处(如无缝实时协作、同步、自动备份),同时保留传统桌面软件的数据所有权。
问题在于,这仅仅是 数据 部分。那么 服务 本身,即使用这些数据的应用,其长期性又该如何保证呢? 使用传统的桌面软件,当公司倒闭时,所有功能仍然可用。 当一个云应用关闭,或 enshittifies (变质),或者你仅仅是想离开时,你会剩下数据(但愿如此),却没有好的方式来使用它。 所有作为应用云端部分的功能,如同步或协作,都将消失。
一个可 eject 的应用允许用户随时 "eject"(弹出),并通过以下方式切换到自托管(或反之):
- 保存一个
workspace.zip
,其中包含他们所有的状态数据。 - 下载一个
server.exe
/.bin
来自行托管后端同步服务器(甚至可以选择他们喜欢的应用版本)。 - 能够在本地运行服务器可执行文件。 这应该允许你简单地打开 workspace 数据并从上次离开的地方继续。
- 使 eject 操作完全可逆,因为如果离开云版本后无法返回,仍然是使用它的一个障碍。 从自托管版本 eject,注册云版本,然后再次导入。
使应用具有 local-first 和 ejectable 的特性,应该能够让我们获得两全其美的好处:云应用带来的便利性和功能,同时像几十年前的 DOOM.EXE
或 NOTEPAD.EXE
一样具有面向未来的保障。 它们确保了我们今天使用现代工具创造的东西,在未来仍然可以访问和使用(当然,我们也在将 Thymer 构建为一个 ejectable 应用)。
Wim Cools
• 2024年12月9日