|
近日,一篇名为《Indexed DB:未来一切Web应用的基石》的文章出现在各大IT网站的重要位置。“Web应用的基石”是什么?51CTO认为,Indexed DB能否成为未来Web应用的基石还有待时间的考证,就像文中所说,毕竟它还没有成型,未来会怎样?有谁会知道!下面让我们一起来看看Indexed DB到底是什么。
微软的背书
Indexed DB发展有微软的功劳。多年来,微软一直和各种有关HTML的讨论保持距离,现在,他们开始积极参与其中,比如,微软架构师 Pablo Castro 在对 Indexed DB 的反馈意见中,不仅对Indexed DB表示赞赏,而且表示,微软正在招聘人员从事Indexed DB相关的工作。另外,微软在其IE博客中,公开对Indexed DB进行背书,微软说,“和Mozilla一起,我们对本地存储技术Indexed DB感到振奋,我们认为这是Web的一个重要方案”。
微软的表态非常重要,首先,微软在浏览器市场举足轻重,因此,尽管开发者们为微软之前对标准的态度表示嘲讽,然而,当微软和他的竞争对手 Mozilla 站在一起为某种技术背书的时候,这对开发者而言意义非同寻常。微软的背书意味着,Indexed DB 将成为真实的工具,而不仅仅是学者们的一个概念。另一方面,微软正在积极开发他们的下一代浏览器IE9,尽管有关IE9的新功能还很含糊,但至少说明这个公司开始重新重视他们的市场。
本地还是网络?
这听上去有些倒退,然而,在浏览器本地存储数据对Web应用来说非常重要,虽然云计算的本质是将一切应用运行到网络上,然而,我们的网络并不是无处不在,也没有足够快。本地存储让开发者将一些数据保存在本地计算机以便快速处理,这意味着,Gmail,Google Docs一类的应用可以离线使用,也让数据可以缓存在本地以便将来使用,这使得云计算更快更可靠。
Opera 的首席标准官 Charles McCathieNevile 说,将一段文字存储在本地数据库,似乎有些用牛刀杀鸡的意味,然而对Web程序中的大规模数据,则完全有必要建立一个真正的数据库来保存。
一直以来,浏览器通过Cookie在本地保存小段文本数据,然而,浏览器厂商一直在寻求强大的方法,一个方法就是 Firefox 和 IE8 都支持的 LocalStorage,虽然已经被 W3C 接纳为标准,浏览器厂商们发现它的局限性越来越大,比如,它不支持多线程。Blizzard 说,因为多个浏览标签可能访问同一份数据,你必须保证一个标签的行为不被另一个标签看到,对那些像Chrome一样拥有多个进程的浏览器来说,这尤其难处理。
Web SQL的兴衰
另一个本地存储方案,来自Apple,称为Web SQL,有时称Web DB,它使用SQL查询语言查询数据。Safari 支持Web SQL,还有 Chrome 4, Opera 也在寻求对该技术的支持。然而,Web SQL 遇到了问题,因为每家数据库厂商都有自己的 SQL,Web SQL使用的 SQLite 并非标准。Google 认为,目前的 SQL 语法各式各样,尚待统一。Apple 程序员 Maciej Stachowiak 指出,这样下去,必将产生多个Web SQL版本。W3C HTML 5起草者,Google 员工Ian Hickson说,我不会使用那些没有被大量支持的标准,同时,在W3C有关Web SQL 的提案中有这么一句话,“该提案已陷入僵局”,之前51cto也曾报道过关于HTML 5 Web SQL Database的相关内容。
Indexed DB的兴起
Indexed DB在浏览器层面使用底层的接口,微软和Mozilla 认可这一策略,开发者可以自己实现基于这些底层技术的接口,就像人们使用JavaScript实现了各种各样的框架,如 jQuery, Dojo, 及 YUI 。现在的Web,开发者们并不经常使用浏览器自己的API,相反,他们更愿意使用 jQuery,Dojo 一类跨浏览器框架,与其推出一些复杂的,不兼容的API,还不如推出简单的底层的东西,让开发者们自己实现各种应用。
目前,关于Indexed DB,Opera还没有明确表态,但McCathieNevile 在W3C会议上对之表示赞赏,而苹果则拒绝评论。不过,假如IE,Mozilla,Chrome都支持Indexed DB,并使之成为W3C标准,Apple可能将毫无选择,因为开发者会使用。Google在他们的Chrome开发文档中提到了一些实现方法的细节,并将Inexed DB的相关代码加入Webkit 代码库,这意味着,Apple很快也会进行一些测试。
Indexed DB 还是不确定的东西,LocalStorage 的经验告诉我们,成为标准也不一定意味着什么。但Indexed DB有强大的背书者,它至少可以成为让开发者能够开始体验的东西,假以时日,它有可能最后成为一切Web应用的基石。
http://developer.51cto.com/art/201003/188658.htm
【推荐】
未来的Web应用是什么样子,虽然还不清晰,但浏览器厂商们认为,未来Web应用的基石是一种叫做Indexed DB的本地存储技术,这个由Oracle发起,最初叫WebSimpleDB的本地存储技术
Indexed DB在浏览器层面使用底层的接口,微软和Mozilla 认可这一策略,开发者可以自己实现基于这些底层技术的接口,就像人们使用JavaScript实现了各种各样的框架,如 jQuery, Dojo, 及 YUI 。现在的Web,开发者们并不经常使用浏览器自己的API,相反,他们更愿意使用 jQuery,Dojo 一类跨浏览器框架,与其推出一些复杂的,不兼容的API,还不如推出简单的底层的东西,让开发者们自己实现各种应用。 |
|