在移动混合应用中存储JSON数据的最佳方式是什么?
市场上很少有选择在移动应用程序中存储一些JSON数据(indexedDB,webSQL等)。在移动混合应用中存储JSON数据的最佳方式是什么?
我正在寻找最佳的解决方案(不推荐使用并且由常用浏览器诚实地支持)来存储我的JSON数据,并在为演示文稿/演示/产品组合创建的移动应用程序中使用它目的。
我的静态JSON文件结构如下所示:
{
"products": [
.. several records
],
"users": [
... several records
],
"factData": [
... few thousand records
]
}
的问题是,我应该使用哪种技术/方法来简单地存储上述JSON数据,并且不担心支持?
本地存储提供简单的同步键/值对存储,但对大量数据表现不佳,可能会锁定UI。
WebSQL是depracated,但你仍然可以使用它。您只能存储大约5MB的数据。
IOS不支持IndexedDB。
我现在很可能会用WebSQL,但我会考虑将数据存储在JSON中的其他方式。也许创建一个数据库和API,使授权的REST调用它
对于你的问题,你有许多杂合体的应用程序使用JSON数据发挥:
Xamarin,的PhoneGap,英特尔XDK,离子框架,框架7,Appcelerator的Titanium,Mobile Angular UI,Onsen UI,Sencha Touch,Kendo UI,所有混合框架都使用JavaScript,并将越来越多的敏感逻辑放在客户端,因此还需要关注客户端安全性。
所以我没有尝试所有这些,但是是校长应用程序混合的实际列表,所以现在JavaScript学习是10年前没有选项:)。
是的,我知道我们在市场上有很多混合移动框架,我使用它们很少,但它并没有改变这个事实,如果你想要存储一些数据,你必须独立思考,因为上述框架都没有强制存储数据的自己的解决方案。 xD – ELing
我使用离子,因为入门很简单,背后有一个很好的社区,可以与角度关联,得到了一个强大的用户体验SDK来加速开发。存储数据不是框架的工作,可以操纵它。对于商店的json数据,你必须在NOSQL上从大到小的解决方案:(cassandra对我来说是最好的,hive,hadoop,mongodb我也喜欢这个小项目...)。问候 – 2017-09-14 11:57:14
您可能应该查看pouchdb,这不仅可以促进客户端上的json存储,还可以脱机同步到couchdb服务器。
你可以看一下这个常见问题native support
在问候支持你还会发现一些细节有faq page
PouchDB似乎是有趣的NoSQL存储数据的方式。问题是,我需要实现任何后端env。让它为简单的用法工作? 对我来说,初始存储我的json文件中的数据就足够了,并有可能在任何应用程序视图/组件中请求它们。 – ELing
你不需要用pouchdb实现任何后端env, 对于你的场景,你可以通过http将数据传递给客户端,然后用pouchdb存储它我也建议你看看这篇文章, (https://www.sitepoint.com/building-offline-first-app-pouchdb/) – Sichangi
@Eling您也可以将数据存储为localStorage情况下的JSON字符串,并在需要时解析它,虽然这可能相当如果您只需要部分数据,则效率低下 – Sichangi
'localStorage',具有很好的支持。并且很容易使用。 – Keith
你认为localForage怎么样? https://localforage.github.io/localForage/ – ELing