我们目前正在构建一个网络应用程序(Django、Ember),我们刚刚发现我们的大多数潜在客户都需要对应用程序进行零星的离线访问。
我们需要的不仅仅是“呈现”应用程序以便用户可以导航、缓存清单中的内容等等(我想我们最终也会需要),但我们必须让用户尽可能地实际操作,就好像他们是在线的。显然会有一些功能不可用,但应用程序的基本用法应该是可用的。
也就是说,我很想听听以前遇到过这种情况的人的一些想法。在我看来,我们需要:
1.- 检查我们是否经常在线/离线,或者让用户指定他们何时离线(类似于智能手机中的飞行模式)。
2.- 所有数据都应该转储到 IndexedDB 中,从那一刻起,我们将 IndexedDB 用于与数据相关的任何内容。
3.- 当用户重新上线时,同步进程必须尝试将离线用户的数据转储到在线数据库。虽然这看起来很危险,但我不希望有很多用户在其他在线用户使用该应用程序的同时离线,所以我希望这个同步过程不会成为真正的噩梦,我也不期望有竞争条件。
好吧,显然可以选择创建桌面独立应用程序......但我会尽量避免这种情况......
谢谢!