2014-02-11 40 views
3

我已经做了10年的开发人员(非iOS),并且为大公司工作从未创建过应用程序。只是在非常大的应用程序上工作。创建端到端iOS应用程序时,应该先创建前端还是后端?

我开始进入iOS以获得乐趣,并且在我的脑海中有一个我想要创建的应用程序。我已经使用iOS应用程序的“界面”为整个事情做好了准备。从那以后,我开始开始编码。我在故事板中有大约15个场景(总的应用可能会超过100个),现在我只是使用硬编码的“假”数据。

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

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

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

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

想法?建议?

谢谢!

+0

我肯定会在后端工作第一,建立模型(这是很可能会演变随着应用程序变大)。这样你可以有坚实的基础来构建应用程序。 – jbouaziz

+1

我不知道你的应用程序做了什么,但如果它需要100多个StoryBoard场景,那么你做错了什么。好的iOS应用程序(以及一般的移动应用程序)都是关于“做一件事,做得很好”。 – mluisbrown

+0

取决于你如何看待它。 –

回答

3

我说你有3个选择这里:

前端首先,后端事后

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

后端首先,前端事后

你可能在这里没有真正看到你在开发后端去。你会看到(你甚至可能知道它),你为客户端创建的内容可能并不像你的头脑中那样。你可能不得不在后端重做很多工作。一起

前端和后端这是怎么了我平时的工作。就像您使用硬编码数据一样开始前端工作,并尽快开始工作在后端。将样板数据移到它上面,这样可以确保它们的通信良好。然后,尝试同时处理两者。这样,如果你改变了主意,你就不需要在另一边重做很多代码。


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

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

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

只是我自己的看法:]

1

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

但是,对于这些小事情:前后全程旅行。由于不需要太长的时间来完成这样的功能,所以如果您先完成前端或后端,则无关紧要。因此,对于这部分:基本上是@rdurand已经说过;)

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

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

祝你好运;)