我们目前正在构建一个Web应用程序(Django,Ember),我们发现大多数潜在客户需要偶尔离线访问该应用程序。
我们需要的不仅是“呈现”应用程序以便用户可以导航,在清单中缓存内容等(我想最终也需要),而是必须让用户尽可能地像在线一样操作。 显然会有一些功能不可用,但应保证基本使用可用。
话虽如此,我很想听听之前遇到过这种情况的人的想法。以下是我认为需要做的:
1. 要么不断检查是否联网/离线,要么让用户指定何时进入离线模式(类似智能手机上的飞行模式)。
2. 所有数据都应转储到IndexedDB,并从那一刻起,我们将使用IndexedDB与任何与数据相关的操作。
3. 当用户重新联网时,同步过程必须尝试将数据从离线用户转储到在线数据库中。尽管这可能看起来很危险,但我不希望有很多用户同时离线,而其他在线用户正在使用该应用程序,因此我希望这个同步过程不会变成真正的噩梦,并且我不期望发生竞争条件。
当然,还有创建桌面独立应用程序的选项...但我会尽量避免这种情况...
谢谢!
我们需要的不仅是“呈现”应用程序以便用户可以导航,在清单中缓存内容等(我想最终也需要),而是必须让用户尽可能地像在线一样操作。 显然会有一些功能不可用,但应保证基本使用可用。
话虽如此,我很想听听之前遇到过这种情况的人的想法。以下是我认为需要做的:
1. 要么不断检查是否联网/离线,要么让用户指定何时进入离线模式(类似智能手机上的飞行模式)。
2. 所有数据都应转储到IndexedDB,并从那一刻起,我们将使用IndexedDB与任何与数据相关的操作。
3. 当用户重新联网时,同步过程必须尝试将数据从离线用户转储到在线数据库中。尽管这可能看起来很危险,但我不希望有很多用户同时离线,而其他在线用户正在使用该应用程序,因此我希望这个同步过程不会变成真正的噩梦,并且我不期望发生竞争条件。
当然,还有创建桌面独立应用程序的选项...但我会尽量避免这种情况...
谢谢!