0

我的朋友已经有他自己的工作网站(卖一些东西)。我们有一个想法为网站创建iOs 应用程序以吸引更多人(对我来说 - 获得一些急需的经验)。

UI会很简单,不会像使用网站数据那样有很多问题。我们需要该应用程序在本地拥有一些数据,以便没有互联网访问权限的人能够使用该应用程序。

但是,当然,我们希望应用程序中的信息是最新的,所以我需要以某种方式使用MySQL数据(我的意思是,如果这个人可以访问互联网,应用程序可以使用它并下载一些数据, 如果不是 - 应用程序必须包含一些要显示的数据)。老实说,我希望应用程序真的很好,所以我有一个问题:什么组合更好用???

  1. 要使用核心数据,请创建一个数据模型(它很大,很难复制,要创建很多类)。我可以做到,但是如何更新数据呢?=) 不知道。
  2. 要创建一个sqlite数据库,然后使用php代码之类的东西插入 get 并将数据编码为json,然后解析它。
  3. 也许我应该直接从应用程序连接到MySQL并使用它的数据,因为本地不可能有相同的数据?
  4. 或者只是解析它,使用jsonxml

请帮帮我,我需要我的应用程序既酷又健壮,但我不知道该怎么做。也许您能说出解决此类问题的更好方法?

4

1 回答 1

3

通常,您必须使用 SQLite 在您的应用程序中构建一个类似的数据库,并通过某种 API 桥从 MySQL 导入数据。进行这种数据交换的一种简单方法是通过对记录属性进行编码的 JSON。XML 也是一种可能的传输机制,但往往会产生更多开销并且最终使用起来更加棘手。您将来回发送的通常是键值对集,而不是整个文档。

坚持使用 Core Data,除非你有非常好的理由使用其他东西。发现它令人讨厌或与众不同并不是一个好的理由。一开始可能有点棘手,但在实践中,如果使用得当,它往往不会引人注目。

除非您正在编写明确的 MySQL 客户端,否则永远不要在 iOS 应用程序中直接连接到 MySQL。时期。甚至不要考虑这样做。不仅不可能有效保护,而且预计 iOS 网络非常不可靠、速度慢,而且经常完全不可用。您的应用程序必须能够利用有限的带宽,处理非常高的延迟,并将操作分解为可能成功的小事务,而不是一个注定会失败的长时间运行的操作。

您如何在数据库和客户端之间同步数据?这取决于您要使用的网络堆栈。这里有很多选择,但至少你应该使用 Ruby on Rails、Django 或 NodeJS 之类的东西进行原型设计。PHP 是可行的,但是没有数据库框架会很快变得很乱。

于 2013-01-30T01:54:31.233 回答