从移动优先到离线优先(三) - 实现离线优先的常规措施

不同的离线架构在本地数据的存储、访问和同步方式上是有所不同。下面从简单方案到鲁棒方案进行介绍。

  • 缓存

    最常见的方法是简单地在本地缓存数据。缓存存储数据以供读取访问。这使用户可以访问其设备上的数据,呈现 UI, 并提供基于近期数据快照的可预知的用户体验。缓存可以提供平滑离线体验和更快的性能,对于一些程序足以完成离线优先的目的。

    

     但是, 许多应用程序不仅是只读的, 而且还启用数据输入和操作。用户缓存的主要缺点是,在离线情况下,用户不能更新缓存数据。另一个缓存的常见缺点是, 很难知道缓存何时无效和及时获取数据。如果缓存中的部分无效,也要从零开始下载其全部内容,导致过度使用设备的无线网络和电池。

  • 手动更新

    这种自定义编码方法采取了超越缓存的步骤,是移动客户端拥有了读写能力。它允许用户在脱机时操作数据,将对象标记为改变。当连接变为可用时, 所有已更改的对象都将被全部发送到服务器。

 

    但是, 该方法是不可预知的, 并且可能由于任何原因(应用程序、服务器、移动网络或其他点)导致错误。因为数据是存储在 JSON 中, ORM (序列化/反序列化为本机对象) 是必需的,添加延迟和转换失败的可能性。

  • 实时数据同步平台

    在此模型中, 数据同步不是手动的, 而是自动的, 实时发送更改。这个一般都需要购买商业产品。

  

 

posted @ 2017-11-03 10:26  理论家  阅读(350)  评论(0编辑  收藏  举报
点击这里给我发消息