1

我想開發一個將存儲數據的chrome應用程序。數據存儲將是無限的。我有兩個選擇使用索引數據庫和文件系統。在IndexedDB和文件系統中本地存儲Chrome應用程序數據有什麼好的選擇?

這將是用於數據存儲的上述兩個

+0

什麼數據類型?另外也[chrome.storage(https://developer.chrome.com/extensions/storage) –

+0

數據像任何Web應用程序一般用途,如在表中的記錄,多媒體任何需要的地方 – Chetan

回答

2

使用文件系統API將數據存儲在用戶電腦中的一個不錯的選擇是有點問題的,因爲你不能未經用戶同意這樣做。所以我的建議是使用索引資料與您的清單以下權限:

"permissions": [ 
    "unlimitedStorage", 
    "storage" 
] 

Basicly你可以存儲任何東西在IndexedDB的唯一問題是它有點慢,API是一個爛攤子,但也有很多的教程在那裏。我自己使用它來創建離線的第一個應用程序。它有點難以使用,但可靠的方式來存儲持久性數據。

值得另一件事要注意,如果你要存儲的鍵值對喜歡你的應用程序,你可以使用Chrome的存儲API與設置是基本的本地存儲API,但Chrome應用EXLUSIVE。

有用的書:https://developer.chrome.com/apps/offline_apps

+0

在回答你提到的索引db是慢。注意力非常緩慢嗎? indexdb可以存儲圖像和多媒體嗎?和任何最好的包裝,你會建議索引數據庫的Chrome應用程序? – Chetan

+0

它不是特別緩慢但顯而易見。舉個例子,我創建了一個應用程序。在應用程序啓動期間,服務器向客戶端發送一個80 MB大小的對象數組,然後將此數組存儲到indexeddb中,耗時6秒。其實並沒有那麼糟糕。如果你想存儲大量的數據,但是你可以使用webworker來完成這個任務,那麼它是唯一可見的。 看到基準:[鏈接](http://nparashuram.com/IndexedDB/perf/) 是的,你可以存儲圖像和媒體的斑點。這裏有一些教程。 – kailniris

+0

當我開始使用indexedDB時,我正在尋找一個很好的包裝,但是我沒有找到適合我需要的東西,所以我自己創建了一個。它不是一個大問題,只是創建函數來存儲數據,存儲批量數據,截斷對象存儲等。添加一些錯誤處理,你完成了,不超過500行代碼。但是那裏有很多包裝紙,甚至是很好的包裝紙。我對他們的主要問題是這些項目不再維護,我不喜歡4歲的無人維護的代碼。 – kailniris

相關問題