什么是何时在核心数据和远程数据库之间推/拉的行业标准

时间:2016-10-24 05:10:10

标签: ios core-data synchronization

现在只编程了几个月,我终于准备好构建一个完整的应用程序了。我想知道,对于像Wunderlist这样的应用程序(待办事项列表),什么是何时在远程服务器和核心数据之间提取/推送数据的行业标准(我假设所有本地数据都存储在那里)。

显然,签到拉是没有道理的。但此后我应该多久将本地更改推送到云端?什么时候制作?如果我计划最终创建一个用户可以立即将更改保存到服务器的网站,我应该多久将更新提取到手机上(或者我应该学习网页套件,以便在进行更改时从服务器推送)?< / p>

此外,我想我会发现相当多的谷歌搜索,但如果有人可以指出去哪里学习如何实际管理同步,这将是非常有帮助的。所有帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

这主要取决于您的使用案例。我们假设有两种不同的选择:

  1. 两个站点(或一个站点)上的数据更改,但不是时间敏感的。用户不会在多个系统之间进行定期切换,或者不希望所有站点直接同步。在这种情况下,您将实现标准的pull-to-reload和push-on-completion行为(例如,对新闻平台的评论)
  2. 两个站点上的数据更改都是时间敏感的,因为用户正在桌面/浏览器和移动应用程序之间切换。苹果笔记应用就是一个很好的例子。您可以在多个设备(iPad / iPhone / Mac)上使用它,并在这些设备之间切换(在美好的日子里)。
  3. 选项1 似乎就是您目前正在使用的内容。切换到选项2 有许多可能的解决方案,具有不同的权衡。我最喜欢的解决不一致问题的方法是在假设用户很快切换到其他设备时向所有设备发送silent-push通知(例如,在ToDo-List应用程序中保留ToDo-Elements ViewController)。对于这种方法,您必须在WebServer上使用自己的API实现推送服务,以便对通知进行排队,并通过用户/数据区分它们。