2017-09-13 29 views
1

市場上很少有選擇在移動應用程序中存儲一些JSON數據(indexedDB,webSQL等)。在移動混合應用中存儲JSON數據的最佳方式是什麼?

我正在尋找最佳的解決方案(不推薦使用並且由常用瀏覽器誠實地支持)來存儲我的JSON數據,並在爲演示文稿/演示/產品組合創建的移動應用程序中使用它目的。

我的靜態JSON文件結構如下所示:

{ 
    "products": [ 
     .. several records 
    ], 
    "users": [ 
     ... several records 
    ], 
    "factData": [ 
     ... few thousand records 
    ] 
} 

的問題是,我應該使用哪種技術/方法來簡單地存儲上述JSON數據,並且不擔心支持?

+3

'localStorage',具有很好的支持。並且很容易使用。 – Keith

+0

你認爲localForage怎麼樣? https://localforage.github.io/localForage/ – ELing

回答

1

本地存儲提供簡單的同步鍵/值對存儲,但對大量數據表現不佳,可能會鎖定UI。

WebSQL是depracated,但你仍然可以使用它。您只能存儲大約5MB的數據。

IOS不支持IndexedDB。

我現在很可能會用WebSQL,但我會考慮將數據存儲在JSON中的其他方式。也許創建一個數據庫和API,使授權的REST調用它

0

對於你的問題,你有許多雜合體的應用程序使用JSON數據發揮:

Xamarin,的PhoneGap,英特爾XDK,離子框架,框架7,Appcelerator的Titanium,Mobile Angular UI,Onsen UI,Sencha Touch,Ken​​do UI,所有混合框架都使用JavaScript,並將越來越多的敏感邏輯放在客戶端,因此還需要關注客戶端安全性。

所以我沒有嘗試所有這些,但是是校長應用程序混合的實際列表,所以現在JavaScript學習是10年前沒有選項:)。

+0

是的,我知道我們在市場上有很多混合移動框架,我使用它們很少,但它並沒有改變這個事實,如果你想要存儲一些數據,你必須獨立思考,因爲上述框架都沒有強制存儲數據的自己的解決方案。 xD – ELing

+0

我使用離子,因爲入門很簡單,背後有一個很好的社區,可以與角度關聯,得到了一個強大的用戶體驗SDK來加速開發。存儲數據不是框架的工作,可以操縱它。對於商店的json數據,你必須在NOSQL上從大到小的解決方案:(cassandra對我來說是最好的,hive,hadoop,mongodb我也喜歡這個小項目...)。問候 – 2017-09-14 11:57:14

1

您可能應該查看pouchdb,這不僅可以促進客戶端上的json存儲,還可以脫機同步到couchdb服務器。

你可以看一下這個常見問題native support

在問候支持你還會發現一些細節有faq page

+0

PouchDB似乎是有趣的NoSQL存儲數據的方式。問題是,我需要實現任何後端env。讓它爲簡單的用法工作? 對我來說,初始存儲我的json文件中的數據就足夠了,並有可能在任何應用程序視圖/組件中請求它們。 – ELing

+1

你不需要用pouchdb實現任何後端env, 對於你的場景,你可以通過http將數據傳遞給客戶端,然後用pouchdb存儲它我也建議你看看這篇文章, (https://www.sitepoint.com/building-offline-first-app-pouchdb/) – Sichangi

+0

@Eling您也可以將數據存儲爲localStorage情況下的JSON字符串,並在需要時解析它,雖然這可能相當如果您只需要部分數據,則效率低下 – Sichangi

相關問題