有人可能會說,離線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 無所不能的時候,我們的機會會更多。
延伸閱讀