我希望在PhoneGap应用上找到Angularjs数据持久性的最佳实践。我正在使用Ionic Framework,但与此问题无关,因为它只是建立在Angular& amp;科尔多瓦。
我喜欢Angular在数据持久性解决方案上保持灵活性,因为它是一个Web框架,而不是专门的混合应用程序框架,所以很有意义...很想知道人们如何解决这个问题。
以下是概述:
我一直在寻找以下选项。你能否提供任何反馈意见?
对不起,很长的帖子。我真的希望看到一些关于最佳实践的想法。希望Angular Way能够在Hybrid移动应用程序上处理大数据持久性。
由于
答案 0 :(得分:18)
PouchDB dev在这里。显然我有偏见,但这是我的看法:
在PhoneGap / Cordova中绕过存储配额的最佳方法是使用适用于iOS / Android的SQLite plugin。 性能也往往更好,特别是在Android上。(编辑:在现代后Kitkat Android中,它实际上更糟糕。)
WebSQL有一个很好的查询语言,但你想要面向未来,即不要将自己链接到死标准。还有Windows Phone和Firefox OS需要考虑。
因此,如果您使用PouchDB并安装PhoneGap插件,它将跨浏览器工作,您将避免iOS / Android上的存储限制。赢了吗?
另外,我个人的经验是Angular适合像PB& J这样的PouchDB,因为Angular处理直接的JSON对象,Pouch也是如此。 (将此与Ember和Backbone进行比较,它们具有您必须从JSON导出/导入的自定义类 - 它有点棘手。)
祝你选择好运!
答案 1 :(得分:6)
您可以在angular https://github.com/ocombe/angular-localForage中使用localForage和我的实现 在移动设备上,它将使用indexedDB或webSQL,初始限制为50mb。 语法在角度项目中非常容易使用。
答案 2 :(得分:1)
Indexeddb - 有一个垫片可以为大多数主流浏览器构建compat层。 5M限制。如果我可以在Sqlite之上使用它,那么自从更多基于标准以来,这对我来说可能是一个胜利者。
实际上,WebSQL(你真正在引擎盖下实际使用的垫片下面的层)的限制是* 50 * M.但是,您可以使用权限请求来获取更多存储空间。此外,正如您所指出的那样,这是我建议的:标准。传言是Safari 7.1将支持IndexedDB。