我正在提议一个 Offline-First 计算标准——原因如下
Source: Dev.to
对始终在线假设的问题
现代软件越来越把互联网视为硬性依赖:
- 应用在没有网络时拒绝打开
- 用户数据被锁在账户和服务器后面
- 教育平台在考试期间因网络问题而崩溃
- 简单的操作在断网时变得不可能
当连接失败时,软件往往会彻底失效。结果不仅仅是使用不便——还会导致失去访问、失去信任,甚至数据丢失。
什么是离线优先计算(OFC)?
离线优先计算(Offline‑First Computing,OFC)是一项提议的开放标准,定义在没有互联网连接时软件系统应如何表现。
核心思想很简单:
- 互联网应该是增强功能,而不是依赖。
- 离线能力不应只是备选模式。
OFC 的核心原则
- 默认离线
- 本地优先设计
- 优雅降级
- 用户数据所有权
- 透明、可选的同步
- 以韧性胜于便利
OFC 不是
- 框架
- 编程语言
- HTML、CSS 或 JavaScript 的替代品
- 反云或反同步
- 商业产品
OFC 不告诉你如何实现软件;它关注行为,而不是工具或框架。
为什么是标准而不是工具?
工具会变,框架会起起落落。标准之所以持久,是因为它们:
- 定义期望
- 创造共享理解
- 超越具体技术的寿命
HTML 的成功不是因为它很花哨,而是因为它简单且有韧性。OFC 旨在占据类似的空间。
为什么现在很重要
网络连接在改善,但对持续连接的依赖增长更快。随着软件越来越集中、云锁定、绑定账户,停机的影响也随之扩大。与此同时,教育、治理和关键服务正变得更加数字化。韧性不再是可选项,离线优先设计也不是倒退。
当前状态
OFC 目前以开放、早期阶段的标准形式发布,透明开发并公开讨论。它故意保持保守:
- 不作破坏性承诺
- 不制造炒作
- 不强制采用
目标是清晰,而非快速。草案标准及相关文档已在此公开发布:
我期待听到你的想法
我把这篇文章作为讨论,而不是公告。
- 你在哪些场景中看到始终在线的假设导致了真实问题?
- 你认为离线优先设计应该成为默认预期吗?
- 你看到在采用离线优先原则时会有哪些挑战?
欢迎提出有建设性的批评和讨论。
最后思考
如果软件在互联网停止工作时也停止工作……
感谢阅读。