在创建端到端iOS应用程序时,是否应首先创建前端或后端?

时间:2014-02-11 16:39:49

标签: ios cocoa lamp frontend backend

我是一名开发人员已有10年(非iOS),并且为一家大公司工作从未创建过端到端的应用程序。只是在非常大的应用程序上工作。

我开始进入iOS以获得乐趣,并且我想要创建一个应用程序。我使用iOS应用程序“界面”对所有内容进行了线框化。从那时起,我开始编码。我在故事板中有大约15个场景(总应用程序可能是100+),而现在我只是使用硬编码的'假'数据。

然而,我最近开始认为我应该在那里创建数据库和一些初始数据,而不是使用所有这些硬编码的假数据。

有没有人有任何建议和理由为什么一种方式比另一种更好?

我应该在前端之前创建后端吗?如果我这样做,那么我添加的每个新场景都可以从头开始处理真实数据,而不必替换假的硬编码数据。

另外,我对创建后端知之甚少。我正在创建的应用程序与twitter不同,但对于数据访问而言,对于此示例,我们可以说它是。这个应用程序的主要观点是像twitter。用户可以点击刷新并从服务器获取许多新的数据点(推文中的“推文”)。因此,应用程序可能非常耗费数据。我最好使用像Parse这样的东西,为他们的服务付费,或在LAMP中创建一些东西,或其他东西。在过去的10年里,我一直在使用SQL和数据库,并且对后端的这方面非常满意。

思考?建议?

谢谢!

2 个答案:

答案 0 :(得分:3)

我说你有三个选择:

前端优先,后端追尾

好的一面是在开发前端时,你可能会明白什么是真正相关的,什么不是。你可能不会在后端部分做任何不必要的事情。不好的一点是,当你尝试将后端连接到前端时可能会发生不好的事情,如果你不确定它们至少,那么在前端会涉及一些代码重构。可以一起工作。

后端优先,后端

在开发后端时,你可能不会真正看到你要去的地方。你会看到(你甚至可能已经知道)你为客户端创建的东西可能并不像你脑子里那样。你可能不得不在后端做很多工作。

前后端

这就是我通常的工作方式。就像使用硬编码数据一样启动前端,并尽快开始在后端工作。移动样板数据,以确保它们能够很好地通信。然后,尝试同时处理两者。这样,如果你改变主意,就不会在另一边重做很多代码。


关于后端解决方案,我几乎可以说是我使用了Parse.com服务,而且非常好。就我而言,我还没准备好自己创建一个完整的后端。如果可以,也许你不需要它们。但是,(并且它是一个很大的),Parse的SDK可以处理后端和前端之间的整个通信。您不必管理网络可用性,缓存内容以及开发移动操作系统时必须考虑的所有事项。这非常好。

他们的免费计划允许您每月运行1M次查询,这是非常多的。但是如果你想进一步减少对Parse的请求数量,你可以组合自己的后端和他们的后端。它可能不适用于您的特定情况,但您可以让用户访问您的服务器以检查新数据是否可用,然后查询Parse。例如,对于新闻应用,在parse.com上发布新闻,在服务器上存储最新的新闻日期,在客户端设备上保存上次更新日期,在访问解析之前,将日期与服务器进行比较。如果需要,查询解析,如果不需要,则转到缓存(由parse的SDK处理)。这样您就可以限制查询次数并保留在免费计划中。

在选择之前,您应该尝试估算每月的查询次数和货币影响。

只是我自己的意见:]

答案 1 :(得分:1)

我建议您以尽可能小的复杂性为应用添加新功能。像e。 G。 “用户可以看到所有注册用户的列表。” - 这个例子可能不适合你的情况,但我希望你明白这一点:一次构建一个小东西。

但对于这些小事:做好前后的全程旅行。因为完成这样的功能不需要太长时间,所以如果你先完成前端或后端并不重要。所以对于这部分:基本上@rdurand已经说过了什么;)

关于后端,我看到两个选项:

  1. 您自己创建一些REST服务。技术的选择应取决于你已经知道的。我是JAX-RS的忠实粉丝,但如果您还没有一些Java经验,那么您可能会遇到困难。
  2. 使用某种SAAS-API。我听说过有关http://www.apiomat.com/的一些好消息,但我自己从未使用过它......
  3. 祝你好运;)