Ale*_*oVK 7 django offline offline-mode offline-caching offline-browsing
我们目前正在构建一个Web应用程序(Django,Ember),我们发现大多数潜在客户都需要对应用程序进行零星的离线访问.
我们需要的不仅仅是"呈现"应用程序,以便用户可以导航,缓存清单中的内容等等(我想我们最终也需要),但我们必须让用户尽可能多地操作,就好像他们是线上.显然有一些功能不可用,但应该可以使用应用程序的基本用法.
也就是说,我希望听到一些关于之前遇到过这种情况的人的想法.我看到这个的方式,我们需要:
1.-检查我们是否经常在线/离线,或让用户指定他们何时离线(如智能手机中的飞行模式).
2.-所有数据都应该转储到IndexedDB中,从那时起我们就使用IndexedDB处理与数据相关的任何事情.
3.-当用户重新联机时,Synch进程必须尝试将数据从脱机用户转储到db online.虽然这可能看起来很危险,但我不希望很多用户同时离线,而其他在线用户正在使用该应用程序,所以我希望这个同步过程不会成为真正的噩梦,我也不会期待有竞争条件.
好吧,显然可以选择创建一个桌面独立应用程序......但我会尽量避免这种情况......
谢谢!
要检查用户是离线还是在线,您可以使用navigator.onLine但并非所有浏览器都支持此属性。然后,如果您针对其中某些浏览器,则必须实施其他解决方案,例如使用 AJAX 调用。
关于同步,您可以在服务器上使用可用的解决方案,例如CouchDB (NoSQL),并在 javascript 前端中使用PouchDB (indexedDB),这将简化同步过程。如果它不符合您的期望,请实现您自己的解决方案,将indexedDB与您的服务器数据库(MySQL,Postgres,MongoDB等...)同步,当然,您仍然可以在前端使用pouchDB。
关于性能,我认为这在很大程度上取决于:
| 归档时间: |
|
| 查看次数: |
2607 次 |
| 最近记录: |