近日 Google 宣布将支持 HTML 5 Web SQL Database API ,其他浏览器厂商也表示将紧随其后提供该支持,有的甚至已经开始支持该 API 了;但同时,HTML 5 规范的制订却遇到了阻碍,因为所有的参与者都已选择了 SQLite 作为底层数据库,要想实现标准化还得考虑多个不同的实现。
作为 HTML 5 的一部分,W3C 组织正在制订 Web SQL Database API 草案,该规范主要用于解决如何通过 SQL 存储及访问数据的问题。文档中所使用的SQL 语言是 SQLite 3.6.19 。网页可以使用这个 API 与嵌入式的客户端数据库进行交互,这对于那些想要在本地存储数据或是离线浏览的应用来说价值非常大。
Google 已经在其最新的浏览器 Chrome 4 中通过 SQLite 提供对 Web SQL Database 的支持了,这个举动可以看作是向标准化迈进的一大步,因为Google Gears 中已经拥有了一个 Database API ,也是基于 SQLite。Gears API 为所有主流浏览器提供了结构化的数据存储功能,包括 IE、Firefox 以及 Safari,但现在 Google 已经停止 Gears 的开发工作了。
Firefox 3 拥有一个嵌入式 SQLite 数据库,目前主要用于存储书签和历史记录,但可能不久后就将支持 Web SQL Database API。当前的开发工作正在 WebKit(Safari 所用的渲染引擎)上进行以向 Web 开发者提供 Web Database API。现在谁也不知道微软对于 IE 和 HTML 5 Database API 的计划到底是什么。
虽然一些公司已经实现了 Web Database API,另一些也正在实现当中,但根据草案的制订情况来看,规范还是遇到了一些障碍,因为所有的参与者都已经选择使用 SQLite 了:
规范进入到了一个僵局当中:所有的参与者都不约而同地使用了相同的 SQL 后端(SQLite),但我们需要多个独立的实现来继续标准化之路。除非有其他实现者想要实现该规范,否则对 SQL 语言的描述仍将停留在 SQLite 上,这对于标准来说是不可接受的。你想要实现独立的 SQL 后端么?请联系规范的编辑,他可以为该 SQL 语言编写一个规范,只有这么做才能推进规范的不断发展。
在这种“僵局”下,谁也不清楚到底是规范将会推进实现抑或是还有其他解决之道。目前,Google 正加快浏览器开发的节奏,没有哪个浏览器厂商愿意等到标准全部制订完成后才开始实现自己的 Web SQL Database API 支持。
查看英文原文: Chrome 4 Now Supports the HTML 5 Web SQL Database API
评论