在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 無所不能的時候,我們的機會會更多。
本文國際來源:http://www.webmonkey.com/blog/Why_JavaScript_Will_Save_Offline_Storage_in_HTML_5
中文翻譯來源:COMSHARP CMS 官方網站
35公里