【发布时间】:2012-04-13 15:24:39
【问题描述】:
我正在尝试为 ios 和 android 构建一个 phonegap 应用程序。到目前为止一切顺利,但现在我遇到了一个重大障碍,我需要一些帮助。
我需要连接到远程 Postgres 数据库。我以前没有做过类似的事情。
有没有人对此有任何经验/提示,或者知道任何包含相关信息的资源?
【问题讨论】:
标签: javascript postgresql cordova
我正在尝试为 ios 和 android 构建一个 phonegap 应用程序。到目前为止一切顺利,但现在我遇到了一个重大障碍,我需要一些帮助。
我需要连接到远程 Postgres 数据库。我以前没有做过类似的事情。
有没有人对此有任何经验/提示,或者知道任何包含相关信息的资源?
【问题讨论】:
标签: javascript postgresql cordova
从客户端 javascript,你不能。除非 phonegap 对权限做了一些非常奇怪的事情,或者提供了 PostgreSQL 接口(如果他们有的话,你大概会知道)。
您要做的是为 PostgreSQL 提供一个小型服务器端包装器,它将接收请求、将它们转换为查询并返回(可能)json 格式的结果。哦 - 您还需要考虑安全性 - 谁可以连接,他们可以做什么,是否都需要加密?
如果您的要求很简单,这可以在 Perl/Python/Ruby 等中轻松完成,如果您手头有 node.js,甚至可以使用 javascript。使用 Perl,您可以将 DBIx::Class 包装在 Dancer 应用程序中 - 上述所有脚本语言都存在类似的模块。
请考虑您是否要通过 https 运行整个事情(让 apache 为您处理) - 这将避免密码/私人数据通过无线连接被嗅探的问题。
例如,您的应用会发出 ajax 请求到:http://myserver/projects/123/messages?limit=20&sort=date
这将被转换为对按日期排序的最后 20 条消息的 project-messages 表的查询,并将结果包装为 JSON 对象数组(可能)。
【讨论】:
您需要为您的数据创建一个 API。然后使用您的 js 应用程序中的 Promise 访问该 API。
【讨论】:
为了让它们所属的安全问题(在现有的服务器/客户端软件的经验和测试部分中)并有最小的开发工作量,我建议使用一些现有的轻量级中间件:
它带有一个 docker,您需要的任何服务都包含在其中,因此可以轻松快速地试用。
【讨论】: