使用哪个数据库与PhoneGap配合使用?

3
我正在使用Phonegap创建我的第一个移动应用程序,但我不确定应该使用哪种数据库。我已经阅读了一些文章,但很难决定哪种是最好的。最常提到的两种似乎是MongoDB或SQLite。
因为PhoneGap需要Nodejs,所以我认为MongoDB可能是一个不错的选择,但它是否太复杂了?我熟悉Mongo,但不想仅仅因为它方便就选择它,我更愿意使用最合适的工具。
这个应用程序希望能够在本地和服务器上存储信息。可能会存储像消息应用程序中一样的信息 - 用户信息、联系人、消息等。
有人知道应该使用哪种数据库吗?或者是否有其他更适合我的需求的?

2
在设备上,您可以访问SQLite和(大多数Web视图中的)IndexedDB。如果是在设备之外(例如Web服务),则可以使用任何想要的数据库。 - Dawson Loudon
4
Phonegap应用程序在设备上运行时不使用/需要Node.js。这只是Phonegap CLI使用Node包管理器。因此,这对您选择的数据库不应产生任何影响。 - DaveAlden
4个回答

4

PhoneGap是一种框架,可以使用跨平台的Web API创建移动应用程序。在我看来,选择数据库不应由框架决定,而应该取决于您正在开发的应用程序的类型。

我认为有三种方法可以存储移动应用程序中的数据:

1:本地存储(http://www.w3schools.com/html/html5_webstorage.asp

2:SQLite(https://github.com/brodysoft/Cordova-SQLitePlugin

3:服务器上的数据库(可以是任何人)。

选择取决于您对应用程序的需求。如果它是一个简单的应用程序,将存储少量数据,请使用存储文档的html5本地存储。如果您的应用程序已经有点大且更加复杂,可以使用在HTML5中实现的SQLite,它受到大多数当前移动浏览器的支持。这里的优点是可以在不需要构建服务器的情况下访问数据库。在第三种情况下,您的应用程序将成为客户端服务器类型,在这种情况下,您应该使用服务器上的数据库。数据库的选择可以是您认为合适的。

2

如果你想要在客户端存储大量数据,我建议你使用IndexedDB或者LocalStorage。其中LocalStorage可以存储5MB的JSON数据。
这只是前端方面的选择,对于后端,有很多选择。如果你计划使用Node编写后端,那么使用MongoDB是明智的选择。


1
IndexedDB仅适用于Android 4.4+,而iOS 8的实现非常有缺陷。请参见此处:http://pouchdb.com/adapters.html - DaveAlden

2
我建议使用Cordova-SQLitePlugin,因为它提供了与sqlite的本地接口,避免了在移动设备上使用WebSQL时可能出现的配额限制。该插件支持Android、iOS和Windows Phone 8平台。
如果您想保持本地和远程数据库同步,可以考虑与PouchDB一起使用。

1
PhoneGap可以使用LocalStorage、SessionStorage或SQLite数据库。您还可以使用PhoneGap通过插件连接到设备的本机类,并传递本机类数据,然后将其存储在设备上。请查看此链接以查找更多详细信息 PhoneGap使用哪个数据库,大小限制是什么?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接