探索中国CIO人才现状 | 第四季调研报告
让JavaScript拯救HTML5的离线存储
2014-03-14  作者:eNet硅谷动力 

  


  有人可能会说,离线Web毫无意义,你得到的只是一个蹩脚的桌面程序,在wi-fi,3G无处不在的今天,我们大部分时间都是在线的,这虽然没错,但我们当中那些已经对各种Web应用,如email,在线新闻以及Twitter一刻不可或缺的人来说,离线Web是非常重要的。


  不过问题总是有的,HTML5Web存储细则中牵扯到很复杂的问题,SQLite。那些需要编写离线Web程序的人需要编写SQL代码,SQLite没有错,但它是SQL的一个变种,和标准SQL有些差别,另外,SQLite并不属于W3C,它的所有者很有可能某一天改变它的接口,这会导致那些已经写就的Web程序必须重新编写。


  是否有更好的方法?Mozilla实验室的AtulVarma最近发布了一篇博客文章,提供了一种替代方案。Varma正在研究CouchDB的一个实验版本,在浏览器中,将该数据库的语义用JavaScript实现。最终,我们或许可以直接使用JavaScript实现数据库查询,消除HTML5在这方面的问题。


  针对这篇文章,MozillaFennec移动浏览器团队的MarkFinkle在评论中表示,这个方案回避了标准数据库后台中更主要的问题,最好让localStorage/globalStorage成为标准,让标准保留在底层,他在自己的一篇博客文章中指出,应当建立一个JavaScript库,就像现有的很多JavaScript库可以操作网页元素一样,也应当有个JavaScript库用来操作离线Web存储数据。


  这种方法表面上看很复杂,但会为开发者带来灵活,当Web无所不能的时候,我们的机会会更多。