http://www.educity.cn 作者:佚名 来源:希赛教育
 在Internet连接无处不在的今天,我们忽然有了另外一个需求,离线Web。Gmail, Google Reader, Zoho这些优秀的Web应用都支持离线使用,这归功于Google Gears。然而真正的离线Web要靠 HTML 5,这个未来的Web语言明星将为Web的离线存储制定一套标准,W3C已经发布 HTML5 离线存储细则。

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

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

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

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

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