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