离线中技术方案的场景
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,支持各项数据操作的一致性和回滚