让 JavaScript 拯救 HTML5 的离线存储

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

 

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

不过问题总是有的,HTML5 Web 存储细则中牵扯到很复杂的问题,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 无所不能的时候,我们的机会会更多。

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Js正则表达式过滤特殊字符、表情的实例代码: let ret = "12312ffds#¥@¥#%^***(()))*)).`@%@¥@¥", val = this.customDeviceName;//特殊字符过滤let pattern = new RegExp("[`~!@#$^*()=|{}':;',\\[\\]./?~!@#¥……*()——|{}【】‘;:”“'。,、?]
1、htmlshiv.js Remy开发的HTML5shiv工具能利用JavaScript在老式IE里创建main,header,footer等HTML5元素。也就是说使用JavaScript能创建这些本来不存在的HTML5新元素。这是什么原理?你可能花几天也想不明白,但谁在意呢!这个脚本几乎是所有正式网站必用
HTML5 火的正热,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把。 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用。 1、使用Canvas绘制直线: !doctype html ht
响应式布局,理想状态是,对PC/移动各种终端进行响应。媒体查询的支持程度是IE9+以及其他现代的浏览器,但是IE8在市场当中仍然占据了比较大量的市场份额,使我们不得不进行IE低端浏览器的考虑。那么如何在IE6~8浏览器中兼容响应式布局呢?这里我们需要借助这
近日,微软宣布开源Chakra的核心组件。Chakra是微软新一代浏览器 Microsoft Edge的JavaScript引擎。相关代码将于2016年1月上传到微软的GitHub账号,项目名称为 ChakraCore,遵循MIT许可协议。 ...,HTML5中国,中国最大的HTML5中文门户。
这篇文章报道的不是“新闻”,因为W3C早已开始着手CSS变量方面的工作。至于Google,则要追溯到11月初,当时该公司主要开发人员之一的Addy Osmani宣布了率先在Chrome Canary中引入对CSS变量的支持。 ...,HTML5中国,中国最大的HTML5中文门户。