代码改变世界

离线中技术方案的场景

2012-06-26 11:34  BlackBird  阅读(550)  评论(0编辑  收藏  举报

    在使用到离线技术中,会涉及到web storage,application cache,web sql等新技术的运用,可能对于某一种需求,均可以用这些特性来实现,但是我们需要杜绝这些技术的滥用,需要仔细分析最初的需求,在某些场景应该有征对性地引入。

  

 application cache  
  文件级别缓存,指定离线状态和在线状态,类似离线应用程序,以文件单元进行存储,实现的是离线浏览,没有网络的浏览,相挂钩的是文件的url,每一个url都会在加载的过程中返回。  
  对应产品线实例:JS框架,图片,用户资源文件(用户头像修改历史)。所有想以文件的方式进行离线存储的产品线
 
web storage 
  存储需要存储的数据,以字符串进行存储,key/value格式,适合存储简单的数据,页面中的代码碎片,代替cookie的作用。
  产品实例:所有想存储代码碎片,或者代替cookie来进行数据存储的场景,或者用户操作结果,比如翻页,排序。可以减少请求数,但是用js多一步操作,效率低
       目前有些产品线保存js,css都是使用这种方式,带来的问题:多了一步js操作,渲染滞后。
 
web sql 
  存储复杂数据,用于在离线应用中临时替代在线数据库查询。对应产品线实例:  
  一般不建议用来存储一般数据,会增加代码的复杂性。可以用web storage来取代。
  一般在处理复杂应用,需要用到事物的时候,使用web sql,支持各项数据操作的一致性和回滚