如何离线启动应用程序并在连接可用时进行同步

时间:2019-03-26 18:16:45

标签: javascript html couchdb offline pouchdb

我正在开发要在android上运行的Inventory应用。我打算使用HTML5,JS,pouchdb和couchdb。虽然我知道该应用程序在连接到服务器后可以脱机运行,而无需任何连接并稍后再同步,但是如果没有互联网连接,如何启动该应用程序?

我尝试使用Android Play商店中的某些服务器,但我想避免使用它。

该应用程序应在没有任何互联网连接的情况下启动。 本地保存数据。 即使退出后,数据也应该可用并在互联网连接可用时同步。

1 个答案:

答案 0 :(得分:1)

脱机工作,然后与在线服务器同步数据可能有些棘手。

场景

在不影响用户体验的情况下,最推荐的方法是使应用程序在某些情况下运行,例如:

  • 您的用户需要注册或登录任何服务或帐户吗?
  • 在用户可以开始在本地使用它之前,是否需要先将您的用户数据注册到您的在线服务中?

可能的解决方案

在设计应用程序的启动方式之前,请尝试回答上述问题。

开始创建库存之前,我的用户需要注册或登录在线帐户

这表示您的用户在首次启动您的应用时必须具有互联网连接。

  1. 如果确实如此,则您的应用必须在第一次启动时要求登录或 注册

    • ,在这种情况下,如果用户首次启动应用程序时没有连接。您的应用程序必须在登录屏幕上停止(这是常用流程)
  2. 用户登录后,必须将从在线服务器检索到的用户数据存储到本地存储中

  3. 当用户下次启动应用程序时,应用程序将自动识别该应用程序,并跳过登录/身份验证屏幕。

  4. 您的应用必须遵循其正常的工作流程(创建,编辑,删除清单)

我的用户无需登录即可在我的应用上创建库存

此答案自动表明,您的用户数据不需要先在线注册,然后再离线修改,因此这里不需要互联网,包括用户第一次打开应用程序。

  • 在这种情况下,您将只开始检查互联网连接,如果有互联网,您将要求用户进行身份验证。
  • 在这种情况下,您的应用必须从其原始工作流程开始,脱机创建所有数据,然后在用户登录时尝试将本地数据与在线存储的数据同步。

TL:DR

在所有这些情况下,您正在寻找Progressive Web App,PWA是可在客户端脱机工作的Web应用程序。