2009-08-08 73 views
0

如果我有一个应用程序,我将如何使它与我的服务器上的数据库进行交互?我有点迷路,不知道从哪里开始。iPhone网络

回答

0

我有一个关于rails应用程序的类似问题 - 那里的答案可能对你有帮助。

What is the best approach for building an iphone client for a rails app?

但答案实际上取决于你的iphone程序和服务器端编程,再加上你的数据库是如何设置的,此刻的知识 - 但最有可能你会需要编写某种webservice/REST API,允许远程客户端对数据库执行操作。

有可用于该服务器端的很多框架 - 如果你从头开始,Ruby on Rails的可能是一个不错的选择。

在iPhone方面,你可能会想通过NSURLConnection的,以及各种请求/响应格式,你可以用它阅读了启动。我发现在手机和服务器之间交换plists是一个非常简单的方法。

2

模糊的问题产生了一个模糊的答案。

它完全取决于你需要什么样的交互。许多常量查询?几乎没有?客户端缓存?实时更新?所有这些问题都会影响答案。

最简单的方法是去与一个AJAX风格的HTTP基于客户端/服务器类型的交互。在Web服务器后面粘贴数据库已经完成了大约数十亿次,因此,您会发现很多很多的示例,甚至包含几个谷歌搜索的解决方案。

你并不真的需要使用JavaScript(歼阿贾克斯)。而是发送封装查询的HTTP请求,并让服务器用包含答案的XML文档进行响应。

如果不会为你工作 - 太多的开销,需要中继的二进制信息(该XML很烂),等等。 - 那么你会婉去与更多直接访问数据库。这很难,可以从将客户端库移植到iPhone到创建自己的有线协议。

一个显著困难的问题,你就必须处理网络问题 - 防火墙,NAT,代理服务器,等等 - 这通常是已经与HTTP解决。

坚持使用HTTP,直到你证明它不起作用。简单得多。

在iPhone文档中搜索“http请求”。包括HTTP客户端API。

+0

我认为AJAX将是我的选择。我会怎么做?我是一个新手开发,所以你可以指向我的教程或什么? – Anonymous 2009-08-09 15:45:03