我喜欢Angular仍然灵活的数据持久性解决方案,这是有道理的,因为它是一个Web框架不是一个特别的混合应用程序框架…很想知道人们如何解决这个问题。
这里有一个概述:
要求
>将本地数据库添加到应用程序构建以预加载数据。这将超过5MB的数据限制。
>在启动时从本地数据库加载数据。
>将更新的数据保存到本地数据存储以保持持久性。
>如果可能,则优先使用无模式。
>简单查询接口。我可以加载所有的数据到内存,只是使用标准的角度过滤器为此,只要性能体面。
>对象查询接口…类似于ActiveRecord的ORM,而不是在我的应用程序中编写sql。
>未来证明。我不想每次构建一个需要数据持久化的应用程序时重新发明轮子。也想选择更标准的东西,如果可能的话,我可以继续使用它在未来…一些像Indexeddb在这里有意义。
选项
我一直在看下面的选项。你能提供任何反馈吗?
> Breezejs – 更侧重于服务器。有sqlite接口吗?
> YDN-DB – 看起来像一个选项,但也似乎有点模糊比一些其他的选项。
> JayData – 这是否仍然活跃?关注它的商业方面。
> Persistencejs – 这看起来很有前途。项目是否仍然活跃?
> ngStorage – 这只是一个localStorage接口?它解决了5M限制吗?
> Angular-cache – 我可以有数据预加载吗?我可以持久数据?
> localForage – 不太了解这个。它解决了5M限制吗?
> Pouchdb – 关心查询语言。不解决5M限制
> Couchdb Lite – 关心查询语言。
> Websql – 我不使用这个,因为它似乎是在出路..加5M限制。
> Indexeddb – 有一个垫片为大多数主流浏览器构建compat-layer。 5M限制。如果我可以使用这个在sqlite顶部,这将是我的赢家,因为更多的标准基础。
>存储在json文件 – 只使用纯旧对象,然后使用Phonegap文件api加载和存储序列化数据。看起来像一个痛苦,必须序列化所有的数据每次我们想保存…但一个选项,只要我可以使用角过滤器。
对不起,长的帖子。我真的想看看一些关于最佳实践的想法。将喜欢Angular的方式来处理混合移动应用程序上的大数据持久性。
谢谢
>在PhoneGap / Cordova中解决存储配额的最佳方法是使用SQLite plugin for iOS / Android。性能也趋于更好,尤其是在Android上。 (编辑:在现代的后Kitkat Android,实际上更糟糕。)
> Websql有一个很好的查询语言,但你想要面向未来,即不把自己链接到一个死标准。还有Windows Phone和Firefox OS要考虑。
>所以如果你使用PouchDB和安装PhoneGap插件,它将工作的跨浏览器,你会避免在iOS / Android的存储限制。赢得?
此外,我的个人经验,Angular适合PouchDB像PB& J,因为Angular处理直线JSON对象,而Pouch。 (与Ember和Backbone比较,它们有自定义类,你必须导出到/从JSON导入 – 这有点棘手)。
祝你好运,无论你选择什么!