如何创build一个iPhone应用程序可访问的服务器

我想创build一个iPhone / iOS应用程序将包括一个function,其中一个用户可以创build一个单词列表,然后将其保存到他们的帐户在服务器上。 另外(这是非常重要的),用户可以通过授予他们权限与其他用户分享他们的列表。

所以我的问题是,我怎么能创build这样一个服务器? 现在,我有一台家用电脑(运行Windows XP,只存储我的音乐系统的数据),我可以使用它来托pipe服务器。 我也开放使用其他在线存储服务,如谷歌驱动器或Dropbox(我不记得亚马逊是否做这样的事情)。 然而(我知道这可能会使事情复杂一点),但至less现在,我想/需要坚持免费的服务/选项。

回顾一下,我正在寻找的关键function是:

  • 创build用户/帐户(在服务器上)
    • 最终我可以[尝试]结合其他服务的使用来login用户,例如他们的电子邮件帐户,OpenId等。
  • 从我的应用程序访问(login)服务器(凭据)的能力
  • 在服务器和我的应用程序之间发送/接收数据的能力
  • 在用户之间共享数据的能力

我知道这是很多要求,但如果有人有任何build议,或可以让我走在正确的方向,这将不胜感激。

基本设置如下:

  • 后端:数据库(MySQL),Web服务器(Apache),服务器端脚本(PHP)。
  • 客户端:已开发应用程序的iOS设备。
  • 通信:使用HTTP客户端/服务器模型,与JSON之类的东西进行通信。

这与web服务器的设置大致相同,但不是提供html / css / javascript等,结果将是JSON。

就实现诸如login和用户之间共享数据这样的具体内容而言,这完全取决于你的实现。 这不是微不足道的,也不是一个简单的post。

希望这可以帮助。

你可以用PHP,Ruby或Python构build你自己的Web服务。 如果你这样做,我会build议构build一个REST风格的web服务( http://en.wikipedia.org/wiki/Representational_state_transfer ),然后使用RestKit( http://restkit.org/ )来处理iOS应用程序中的数据。 特别是RestKit的CoreData集成在我看来是不错的。

另一个解决scheme是使用像Parse( https://parse.com/products/data )这样的服务。 每个月有一百万左右的免费请求是免费的,但之后可能会有所收益。 我个人还没有尝试过,所以我不能告诉你它是否有用。