【问题标题】:Need a basic server backend for iOS app需要 iOS 应用程序的基本服务器后端
【发布时间】:2011-09-20 14:45:09
【问题描述】:

我目前正在开发一个 iOS 应用程序,并且已经到了需要实现服务器后端以支持核心功能的地步。本质上,该应用程序处理需要上传到服务器的文本字符串。收到字符串后,我需要服务器使用它执行一些任务,然后将任务的结果(也是基于字符串的)发送回 iPhone 应用程序。

我的服务器经验为零,我需要一些关于我应该从哪里开始的建议。为了避免财务风险,我试图避免在初始启动时使用专用托管,因此我想知道在启动时是否可以在家中托管服务器,然后,如果服务器端组件开发得当,如果应用程序的使用有保证,只需将软件转移到更永久的专用解决方案。

我进行了一些研究,发现 Amazon S3 是一种流行的 iPhone 应用服务器解决方案,因为它与同样流行的包装器 ASIHTTPRequest 集成。然而,这似乎是一个更永久的托管解决方案。同时,对于较小规模的本地应用程序测试,推荐的服务器平台是什么?安装了 LAMP 的类似 ubuntu 的东西?如果是这样,在本地平台上开发的脚本(我假设是用 PHP 开发的)是否可以大部分直接转移到更大规模的服务器上?

【问题讨论】:

  • 您可以使用 Amazon EC2 而不是 S3。它提供了一个免费的微实例,达到一定的限制,这对于您刚开始的大多数情况来说已经足够了 - aws.amazon.com/ec2
  • 这听起来很有趣,这很蹩脚,但你会碰巧知道 ASIHTTPRequest 包装器是否也支持它。就包装器而言,我假设服务器是服务器,但我只是在检查。感谢您的快速回复!
  • ASIHTTPRequest 只是一个用于发出 http 请求的包装器。您必须在实例上设置一个 Web 服务器并使其公开访问,然后 ASI 将连接到该服务器。 ASI 可以向任何可访问的 Web 服务器发出 HTTP 请求,所以这应该不是问题。
  • 哦,好吧,所以如果我选择绕过免费的 Amazon EC2 一段时间,只是为了让我的脚在服务器-客户端通信中沾沾自喜,会不会像在旧电脑上运行的 apache 服务器一样我家就够了?
  • 哦,当然,您可以在自己的机器上安装 Apache,然后从 iOS 应用程序连接到它。我有一个类似的设置,有时我使用 10.0.x.x IP 连接到在我的笔记本电脑上运行的本地 Web 服务器。一旦您觉得需要进一步发展,您可以选择 EC2 或任何其他托管服务提供商。

标签: iphone http hosting transfer


【解决方案1】:

我会选择共享主机:http://webfaction.comhttp://linode.com。您不太可能拥有如此多的流量,以至于您的共享主机将无法容忍它。我毫不费力地在 Webfaction 上运行了一些高流量的应用程序。

从您对应用中功能的描述来看,它似乎并不太复杂,并且不难扩展。

OS X 上的 PHP 开发环境:

OS X 已经安装了 PHP 和 Apache。它只需要启用,此页面描述了启动它的过程:

http://foundationphp.com/tutorials/php_leopard.php

或者,您可以安装 MAMP (http://www.mamp.info/en/index.html) 之类的软件包,它会为您提供完整的堆栈。 (这也是我推荐的。)

代码:

至于代码,您很可能会使用 ASIHttpRequest 向服务器上的 URI 发出 POST 请求。 URI 处的脚本将连接到数据库,存储字符串,然后断开与数据库的连接。

不到 10 行代码。

【讨论】:

  • 哇,很高兴听到这个消息,我昨天在旧桌面上安装了 ubuntu,但听说我可以在我的 MBP 上完成这一切是个好消息。我一定会在今天晚些时候尝试启动并运行它。感谢所有帮助。
  • 太棒了。如果您需要更多帮助,请随时发表评论。另外,如果这对您有用,请不要忘记接受答案。
  • 我还有一个关于 MySQL 的分支问题(如果您不确定答案,那很好。这与所提出的问题有点不同。)问题是 MySQL 是否是首选方法现在将数据存储在服务器上,或者如果有多种选择。现在,我的应用程序目前使用 NSCoder 标准将数据本地存储到设备中,这完全绕过了 MySQL 的任何内容。但是,当数据到达服务器时,将其全部保存在某种数据库中可能是非常明智的。对于中小型应用程序,是否仍然推荐使用 MySQL?谢谢
  • 是的,一些原因:1) 它在共享主机上得到广泛支持。 2) 可扩展性 3) PHP 和 MySQL 已经合作多年了。
  • 我个人已经很久没有使用 PHP/MySQL了。我正在使用 Django + PostgreSQL。但是,我相信 PHP/MySQL 堆栈是一个很好的起点,应该为您提供所需的一切。
猜你喜欢
  • 1970-01-01
  • 2012-01-25
  • 2018-08-19
  • 2016-10-13
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
相关资源
最近更新 更多