我正在开发一款iPhone应用程序。我想从远程服务器获取数据库并在我的应用程序中显示它,所以我想知道是否应该直接连接到远程MySQL数据库,或者是否建议使用第三层,如PHP,ASP.Net等。从远程数据库中检索数据。
答案 0 :(得分:5)
虽然您可以在iOS上使用MySQL客户端库,但我推荐使用“第三层”中间方法的原因有几个:
安全性 - 您真的想在应用中嵌入数据库,用户名和密码详细信息吗? (即使它是“仅限SELECT”帐户。)
性能 - 为什么不尽可能缓存一些结果数据,而不是仅仅依赖于您正在使用的任何MySQL数据库引擎。此缓存可以在两端进行(iOS设备上的脚本语言和本地存储以供脱机使用)。
例如,根据负载/数据更改的频率,您可以在Web服务级别缓存数据(可能通过将其存储在memcached或类似数据中而不是执行查询并每次都访问数据库服务器)。同样,一旦您从Web服务获取数据到 设备,你可以在那里缓存它。 (可能通过本地SQLite 存储,或只是序列化的数组,视情况而定。)
此外,如果您想要使用多个后端数据库服务器,从应用程序的角度来看,这将是透明的。
维护 - 如果您通过JSON或XML将相关数据传达给iOS应用,您将允许对数据库架构进行合理程度的更改,而不会破坏任何现有数据已部署的应用。
答案 1 :(得分:1)
您需要创建一个Web服务,该服务将公开一组API,然后由iPhone应用程序使用这些API来推送/拉取数据。然后,您可以选择在sqlite3数据库中本地(在iPhone上)缓存数据。最常见的数据传输格式是JSON和XML。