惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
爱范儿
爱范儿
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 叶小钗
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - Franky
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
罗磊的独立博客
博客园 - 聂微东
T
Troy Hunt's Blog
美团技术团队
IT之家
IT之家
A
Arctic Wolf
腾讯CDC
雷峰网
雷峰网
SecWiki News
SecWiki News
博客园_首页
L
LINUX DO - 最新话题
Cloudbric
Cloudbric
量子位
N
News and Events Feed by Topic
小众软件
小众软件
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cyberwarzone
Cyberwarzone
J
Java Code Geeks
V
V2EX
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Latest news
Latest news
Webroot Blog
Webroot Blog
F
Fortinet All Blogs
P
Privacy International News Feed
NISL@THU
NISL@THU
Google Online Security Blog
Google Online Security Blog
WordPress大学
WordPress大学
PCI Perspectives
PCI Perspectives
GbyAI
GbyAI
宝玉的分享
宝玉的分享
阮一峰的网络日志
阮一峰的网络日志
S
Secure Thoughts
Simon Willison's Weblog
Simon Willison's Weblog
P
Palo Alto Networks Blog
V
Visual Studio Blog

PWA

PWA 这类 WebApp 迎来第二春了么? - V2EX 才意识到 Apple 平台上的 PWA 体验这么差可能是有意而为之的 - V2EX PWA 适合开发音乐播放器吗? - V2EX Samsung iTest - V2EX 关于 Edge 地址栏尾部显示添加 PWA 应用按钮的疑惑 - V2EX 为什么 Google 的 pwa 很好用却没有被广泛推广呢 - V2EX 关于 Service Worker 的注册和更新,有相关经验的同学可以推荐一篇你觉得比较好的教程么? - V2EX The Superpowers of The Web and Native Apps Combined - V2EX Simplenote 支持安装为 PWA Native App,很好用,强烈推荐! - V2EX 发现 Google 旗下的几个开发者网站,都可以作为 PWA 原生桌面 App 安装 - V2EX 我有一个开发了快两年的 PWA V2EX App 和大家分享…… - V2EX PWA 在国外似乎也不流行,是为啥呢? - V2EX PWA 不流行的原因是什么?是否有可能开辟一个 pwa 的入口? - V2EX 为什么 V 站不做成 PWA 呢? - V2EX 个人网站弄了 HTTP2 和 PWA - V2EX
利用 PWA 或者说 Service Worker 有没有可能做到完全离线的体验? - V2EX
nijjba · 2021-07-08 · via PWA

这是一个创建于 1802 天前的主题,其中的信息可能已经有所发展或是发生改变。

据我所知 Google Docs 这种可以做到网络断开时, 所有的操作都保存在本地, 网络恢复后再将变动更新到服务器

那么像那些每次操作都依赖网络请求的系统, 如大部分业务系统、表格表单类的管理系统, 能否做到类似 Google Docs 的离线体验呢?

3dwelcome

1

3dwelcome      2021 年 7 月 8 日

我没用楼主提到的技术,但用了类似的理念。

比如同一段表单提交认证代码,服务器上放一套,本地浏览器也放一套一样的,由路由来控制走哪个流程,服务器数据或者本地数据,二选一。理论上可以把用户体验优化到极致。

这个大前提,是服务器和客户端用的语言是一致的,一套代码库。现在有了 wasm 后,世界上所有语言在我眼里看起来,长得都像 JS 。

crclz

2

crclz      2021 年 7 月 9 日

谷歌能这么做是因为 Angular 强大的工程化能力允许它这么做,不是因为用了什么黑科技。
不存在什么黑科技。离线的用户体验都是用业务逻辑代码写出来的。不存在哪一种技术可以减轻业务逻辑的负担。

至于具体的业务逻辑,应该是和 git 一样的流程:本地 commit,然后再异步 push 到云端。如果发生冲突,则覆盖,或者强制用户保存到一个新的文档。我没用过 Google Docs,但是 Google Colab 就是这样设计的。

“那么像那些每次操作都依赖网络请求的系统, 如大部分业务系统、表格表单类的管理系统, 能否做到类似 Google Docs 的离线体验呢?”

回答:可以这么做,但是不推荐。如果你按照一般方法进行开发,那么 UI 就是给 api 套一层壳。如果按照能够离线使用的标准进行设计,那么还涉及到 push 的逻辑、并发修改问题、解决冲突的逻辑。既然网络不成问题,那么合并给自己额外的开发任务呢?

test3207

3

test3207      2021 年 7 月 9 日 via Android

楼上说的对,手写两套逻辑+维护冲突,成本本来就很高了。另外 sw 现在在不同平台和浏览器的实现也略有不同,一不小心就会踩坑,兼容性成本更高了。非技术驱动的团队还是谨慎点考虑……

myCupOfTea

4

myCupOfTea      2021 年 7 月 9 日

可以是可以 但是成本太高了
可能比写两套系统成本都高很多

Mark24

6

Mark24      2021 年 7 月 9 日

我觉得可以。很未来。

nijjba

7

nijjba      2021 年 7 月 9 日

@crclz
你说的没错,而且我 F12 看了一下 Google Docs,能做到完全离线的原因估计是这种类编辑器的产品,可以做到将所有状态存储在 IndexedDB 上,对于你说的按离线使用的标准来设计的话比较容易实现

为什么会有这种想法,是因为我们的网页目前主要市场是东南亚、非洲、南美洲等国家,根据错误日志来看,排查到断网导致接口超时的情况非常多,想到能否利用这种技术解决该类问题

如果按离线使用的标准重构的话,成本确实非常地高,而且 3 楼也提到了存在兼容性这块的问题

opentrade

9

opentrade      2021 年 7 月 10 日

做不到,还是得自己写逻辑