2010-07-01 23 views
14

我有一個問題,我即將開始一個需要離線支持的4-6個月的項目。 AppCache非常棒,並被接受爲標準,但大型瀏覽器仍未確定數據庫的實現方式,Opera,Safari和Chrome選擇了WebSQL(SQLite)和Mozilla,並且據稱IE支持IndexDB。IndexDB,WebSQL在4個月內

我知道,Chrome也會在未來開發的INDEXDB選項,但我找不到任何的發行日期等

現在的任何信息,在4-6個月,讓我們把它叫做十一月我想有支持大部分(不一定都是)最新版本的瀏覽器(假設IE9不支持,FF4和Chrome 6)的系統。我真的不想有一個indexdb/websql雙重實現。使用localStorage作爲一個很大的醜陋blob數據庫的想法給了我震驚,我不想使用Gears。

你,我尊敬的同事推薦我做什麼,我應該遵循什麼路徑?服用哪種藥丸?

感謝所有

圭多

+0

有點更新,這個項目現在完成了,我最終建立了我自己的抽象層,如下所示:1)IndexedDB 2)Web SQL 3)Gears DB(以後備順序)。它類似於lawnchair,但更靈活一點。這實際上很簡單,並且工作得很好。如果我有範圍,我希望還添加了閃存存儲備用選項。我不支持本地存儲,因爲這有2.5MB的限制(在我的方案中沒用) – gatapia 2010-10-08 22:41:57

+0

gatapia,你是否已經發布了社區的抽象層? – 2011-05-24 19:52:31

+4

@Peder賴斯,是的,我其實:[這裏](https://github.com/PicNet/picnet_closure_repo/tree/master/src/pn/data) – gatapia 2011-06-02 19:32:02

回答

3

我的確會去(A.O.)的localStorage。我在今年早些時候寫了一個這樣的離線網絡應用程序的概念證明(cfr this blogpostoffline-enabled webapp here),基本方法是;在陣列

  • 放數據/對象
  • 使用標準JavaScript函數做CRUD(或去jlinq
  • JSON-IFY陣列/對象存儲
  • 使用存儲抽象庫等persistjs來存儲/檢索json-array/
+1

每個字符串/ JSON的編組思想數據庫更新所需的時間確實很難看。對於一個非常小的數據庫也許可以,但是這對於大型數據集來說很快就會崩潰。 然而,我不喜歡這樣,你可能是對的,這可能是最兼容的方法,我敢肯定可以採用'細分'方法來提高性能,但是爲什麼FireFox必須讓我的生活如此艱難!!!!! – gatapia 2010-07-01 21:40:29

+1

你是絕對正確的,這是一個醜陋的解決方案,但據我所知現在沒有真正的選擇。 一些雜項。位: *這不僅是mozilla反對webdb,ms不想實施sqlite或者 *原始支持者ms和mozilla將實現indexdb * * * * *他們可能也會跟着進行 *這些鉻人正在處理indexdb(http://www.chromium.org/developers/design-documents/indexeddb),所以假設它最終會變成鉻(也許safari,因爲webkit會有很多工作) – futtta 2010-07-02 13:05:31

0

我知道這有點晚,但對於未來的項目,您可以嘗試SequelSphere

這對市場來說是新的,但應該有希望涵蓋這種類型的項目。它是一個支持SQL並將其數據存儲在本地存儲中的HTML5關係數據庫引擎。它不使用WebSQL數據庫,而是使用它自己的SQL引擎。因此,它可以在任何符合JavaScript的瀏覽器中使用(您的主要擔憂之一)。但是,它目前僅支持本地存儲作爲持久性機制,因此大小可能會成爲您的問題。我希望SequelSphere最終能夠搭配其他本地持久性引擎,比如齒輪和閃光燈,但這並不是立即可用的。

完整披露:我與SequelSphere公司有關。 :)