iPhone上SQL访问的良好替代品

时间:2010-01-21 01:53:38

标签: objective-c database rss

我正在为一个基本上是目录的企业开发应用程序。客户端有一个使用MySQL数据库的网站,但他不希望应用程序使用它。他的网站提供RSS提要,但我认为这不是一个好主意。该应用程序应该可以根据多个(可选)因素进行搜索,并在选中时显示每个项目的详细信息。

不知何故,我不认为RSS是要走的路,但如何说服他呢?有没有其他方法可行?目录通常是更新,这意味着下载更新将是必要的。我是否应该试图说服他允许只读访问?

假设我正在使用RSS,那么最佳更新时间表是什么?如何搜索工作?我很困惑......

请注意:

[在这里大声思考......]

{我是iPhone开发新手,这是我的第一个应用。我已经做了6年以上的网站,我知道HTML,JS,CSS,PHP,MySQL和Visual Basic 2008.我已经涉足桌面语言(C,C ++,Java),我现在正在学习Objective C。 }

编辑:

我不熟悉JSON。教程链接?

2 个答案:

答案 0 :(得分:4)

RSS不是您正在寻找的答案。 RSS并不适用于任意结构化数据,它是围绕联合网络内容构建的。

由于某些原因(安全性,响应时间等),您绝对不希望公开直接数据库访问。我会在服务器端构建一个Web服务,它提供了一些方法(根据我对大多数目录的了解做出一些假设):

  • “获取类别层次结构” - 将在数据库中查询类别结构并将其提供回应用程序
  • “获取类别中的项目” - 返回特定类别的项目数据
  • “搜索” - 接受一组参数,使用这些参数搜索数据库,并返回匹配的项目集

我会使用JSON作为我的数据交换格式,因为它比处理XML要简单得多。

答案 1 :(得分:2)

数据库有多大? RSS更新有多大?是否可以通过该RSS流访问整个目录?该应用是否需要在没有互联网连接的情况下运行?这里的答案可能会推动您的决定。

我当然不会主张直接访问MySQL。这是一个很大的安全风险,它非常依赖于实现。例如,您的客户无法在不破坏iPhone应用程序的情况下重新设计数据库。

如果您有权访问该网站(或可能说服客户),那么一个好的解决方案可能是利用您的优势并通过Web向SQL公开RESTful接口。然后你的iPhone应用程序可以只是一个JSON或XML(或其他)解析器和接口。您无需担心支持商店或在iPhone上搜索;它都是服务器端完成的。

你可能会使用RSS,但是我认为只有更改才能通过流推出。您需要在手机上保留数据库的副本,并使用RSS来保持更新。但是,第一次同步(因为预先填充的数据可能非常陈旧),然后在长时间延迟之后进行任何同步都会非常困难,因为并非所有更改都可用。您可能必须允许通过某些辅助机制下载整个数据库。如果真的很大,用户和主持人都不会对此感到高兴。此外,同步的启发式方法很棘手。