2011-10-13 62 views
0

我正在寻找编写具有脱机支持的移动Web应用程序,并且倾向于使用HTML5脱机功能而不是诸如phonegap之类的东西。离线移动Web应用程序存储

该应用程序的一个要求是它存储2个不同类型对象的集合(让我们称它们为Books和Authors),它们在线时将从服务器下载。如果它不需要脱机,那么我会使用一些SQL表格或者(最好)基于文档的数据库来存储这些项目,但是做了一些基本的调查后,我没有发现任何感觉“正确的” “脱机工作。

我的问题是:什么是最好策略来存储这些项目?我曾考虑迄今:

HTML5的localStorage - 似乎有比较广泛的支持,但仅限于键值对,这将意味着一个稍微不愉快的数据结构 - 也许有一个total-authors键,然后一系列author-1....author-n密钥文档对。这对我来说是错误的 - 就像我试图解决存储的意图一样。

CouchDB的 - 我使用CouchDB曾在过去相当一点,所以喜欢使用它或等效的,但“正确”的CouchDB将需要本机应用程序(与我没有经验),以及我看到的2个浏览器中的等价物似乎并没有这样做:Lawnchair似乎没有太多的localStorage选项和BrowserCouch似乎没有太多的活动最近(它总是让我警惕)。

WebDb - 看起来这将是完美的......除非它似乎是正式停产,不看得到广泛支持

齿轮 - 停产

IndexedDB的 - 现在有限浏览器支持(至少根据caniuse)

我确信必须有东西那里有帽子做我想做的事,而我只是设法忽略它。任何人都可以建议这样做的方式(而不是可能完成)?

回答

2

据我所知,没有浏览器原生的简单解决方案;您必须使用localStorage或为WebDB和IndexedDB开发。

但非本土你可以使用一个抽象层像lawnchair(可IndexedDB的使用localStorage的默认插件,webdb,......)或一个SO-user Gatapia wrote for picnet(使用IndexedDB的& webdb &齿轮),你can find on github

+0

到目前为止,Lawnchair是我最喜欢的选择,而且我没有看到第二个建议,所以将考虑 - 谢谢。我现在会留下这个问题,希望有人知道一颗银子弹,但:) –

相关问题