在移动设备上用于本地SQLite的javascript客户端

问题描述:

我熟悉使用.NET的System.Data.SQLite提供程序使用它的SQLite以及使用ActionScript的Adobe AIR。我被要求调查为移动设备创建离线数据驱动应用程序(iPhone,iPad和Android,也许是Blackberry)。数据库必须在设备上本地可用,因为用户通常会在农村地区使用非常不可靠和不稳定的手机接收。在移动设备上用于本地SQLite的javascript客户端

将在iDevices和Android设备上运行相同的JavaScript代码库吗?或者每个移动操作系统都需要单独的版本?对于本地Web SQL数据库,我看到the W3 has discontinued the standards process,因为目前只有一个SQL竞争者,并且至少需要两个探戈。 webkit javscript SQL API处于不稳定状态吗?

您好添

在开发Android和IPhone数据库中心的应用程序,你是不是会被锁定在使用SQLite。还有另一种选择,在很多情况下可能会更好;即CouchDB。

在这两种情况下都有可用的解决方案,可以使用相同的代码轻松地为Android和iPhone开发数据库中心应用程序。

CouchDB的

CouchDB的,虽然用Erlang编写的,基本上是使用JavaScript作为其默认界面基于JSON数据库。 CouchDB可以非常快速。但是,CouchDB不是关系数据库。

许可证:Apache许可证,2.0。

官方网站:http://couchdb.apache.org/

CouchDB的为Android:https://github.com/couchbase/Android-Couchbase

CouchDB的为IPhone:http://www.macworld.com/article/159606/2011/05/couchbase.html

sqlite的

PhoneGap的是选择,如果你喜欢使用SQLite工作。使用PhoneGap,您可以为iPhone和Android使用相同的javaScript代码来与Sqlite进行通信,并简单地替换中间件以匹配您正在编译的操作系统。

对于Android的中间件是的PhoneGap-version.jar,而对于IPhone的文件被命名为的PhoneGap-version.dmg

除了Android和iPhone,PhoneGap还可以将相同的应用程序移植到Blackberry,WebOS,Symbian和Bada。

License:BSD/MIT。

官方网站:http://www.phonegap.com

SQLite是HTML5开发Web应用程序时,唯一的选择(如果我理解正确的你)。

您可以检查有关已经在WebKit(Chrome 12)中实现的IndexedDB的信息作为窗口。webkitIndexedDB以及Firefox has implemented it.