HTML5 Indexed Database API 入門(1) - Web SQL Database


Indexed Database API 與 Web SQL Database 這兩組API 均提供Client 端的資料庫功能實作支援,而 Web SQL Database 被普遍接受,並且由各種瀏覽器進行了實作,但是在2010 年11 月提出的規格中,已經明確的擱置這項規格的發展,進入W3C 的 Web SQL Database 規格文件網頁(http://www.w3.org/TR/webdatabase/),將網頁稍微往下拉找到摘要(Abstract)的部份,你會看到以下的內容:


除了不再誰護此規格之外,下方還有一個非常重要的說明,未來HTML5 針對類似的Web 存儲功能,將以Web Storage 與Indexed Database API 這兩組規格取代。

W3C 工作團隊不再針對 Web SQL Database 這項技術進行維護,它也不會成為HTML5 的標準,這其中一個很重要的原因是因為SQL 本身就不是一項標準,儘管它廣泛的被接受,然而一旦 Web SQL Database 被採用納入標準,將會導致跨瀏覽器的問題。

基於上述的原因,不再建議學習或是使用 Web SQL Database ,這一方面的功能正被Indexed Database 這一組API 所取代,而它也被持續發展演進中,不過Indexed Database API 現階段有兩個主要的問題,首先,幾乎各大瀏覽器針對此API 進行的實作並不完整,另外一個問題便是,相較於 Web SQL Database , Indexed Database API 相當低階,想要利用它來發展應用程式難度不小。

Indexed Database API 與傳統的關聯式資料庫系統有很大的差異,特別是它完全不採用SQL ,而是透過索引建立cursor 進行資料搜尋作業,因此這對於習慣以SQL 為基礎的關聯式資料庫開發人員來說會相當難適應。

就技術層面的問題,你所要處理的工作依然是資料的新增、讀取、更新與刪除等相關操作,而在此之前,依然必須先建立目標資料庫連線,這與典型的SQL 資料庫操作程序沒有什麼不同。

無論如何,未來針對Indexed Database API 的實作將會逐步被實現,另外一方面,以此為基礎的高階應用同樣會逐漸的發展出來,包含各類函式庫,因此可以注意相關的發展,不過瞭解其規格技術核心是必要的。

沒有留言: