让JavaScript拯救HTML5的离线存储[译]
作者:comsharp 来源:锐商企业CMS 发布时间:2009-05-15 12:26:00
在 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 无所不能的时候,我们的机会会更多。
相关阅读:html5 的五个激动人心的特性
本文国际来源:http://www.webmonkey.com/blog/Why_JavaScript_Will_Save
猜你喜欢
- 1、利用File Watchersgoland->Preferences->搜索框内输入 file watchers->选
- 前段时间我们部门的粉丝和布林同学都写过关于这个问题的文章。刚好阅读了关于这个问题的其他争论文章。所以顺便在这补充几点。首先说明这里讨论的是在
- 如果希望重新定义在表中添加新记录时该列中自动生成并存储于列中的序列号,则可以更改该列的标识属性。在每个表中只能设置一个列的标识属性。具有标识
- 字符编码我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把
- 什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性
- asp编程中我们经常要处理字符串,比如一个新闻列表,在我们编写asp程序的时候就要考虑到新闻标题的长度不确定性,因为有的文章标题可能很长,可
- 我正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就找到了一个简单的解决办法。下面是一个示例表
- 选择自 xinyuxin912 的 Blog将一个图片以二进制值的形式存入Xml文件中try { &nbs
- 自己写PHP也有一年多了,然后编码问题却老是没有得到好的解决,自己的情况是这样的,网页显示完全正常,在phpmyadmin数据库显示中文乱码
- 对于简单的网络例如全连接层Linear可以使用以下方法打印linear层:fc = nn.Linear(3, 5)params = list
- 第一步:获取mysql YUM源进入mysql官网获取RPM包下载地址https://dev.mysql.com/downloads/rep
- 好多网友问起来,·深度学习网址导航·深度学习整站系统 的后台管理能否增加批量删除功能,如何加:就是列出N篇文章或网址信息,每篇文章或网址前有
- 基本用法?在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件。Vue 提供了defineAsyncCompon
- Oracle获取数据库系统的当前时间MySQL 中我们可以通过 NOW() 函数来获取系统的当前时间。但在 Oracle 中并没有 NOW(
- Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的
- keras非常方便。不解释,直接上实例。数据格式如下:序号 天气 是否周末 是否有促销 销量1 坏 &n
- 如下所示:import matplotlib.pyplot as pltimport numpy as npa = np.array([1,
- 这将为我们的团队节省每天重复的数据处理时间......简介如果你目前在一个数据或商业智能团队工作,你的任务之一可能是制作一些每日、每周或每月
- 很多人都有研究闭合浮动元素的问题,但是解决方法却不一样,也并不是每一种方法都尽善尽美。闭合浮动元素(或者叫清除浮动)是web标准设计中经常会
- 希望达到的效果工具类的Golang项目需要编译成二进制文件后在命令行中运行,所以希望在github里面创建一个新的release后能自动编译