5

我是移动应用程序开发的新手,想从这里的专家那里了解他们如何处理服务器端设计。我需要支持跨平台客户端(iOS、Android、Windows)并需要可扩展的后端架构。

  • 广泛部署的服务器端策略有哪些
  • 是否有任何移动特定的开源服务器端技术可用。
  • 人们考虑移动应用程序后端的因素。
4

2 回答 2

2

我同意上面一半的答案。您应该使用 REST 架构——这是最直接的方法。我将 Ruby on Rails 用于我的移动项目。可以快速开始构建服务器代码,并且几乎可以立即看到它在 heroku.com 之类的地方运行。

所以我会选择以下内容:

  • ruby on rails - 值得您花时间学习
  • heroku.com 用于部署/或 EC2(如果您选择 Rubber gem)
  • 如果您了解一些 python / java,Google App Engine 是另一个不错的选择
  • REST 架构
  • 使用 Amazon S3 存储所有重图像等。他们有一些很棒的 SDK 可以使用。
  • 给自己一些 JSON 库来与你的服务器通信

在 iOS 上:

  • 使用MKNetwokKit(它会为您节省很多麻烦。它可以帮助您缓存并且它是一个很好的架构)。
  • 如果应用程序很小,请尝试基于 NSArchiver 而不是 CoreData (SLOWWW) 的数据模型。Mogenerator 是一个好的开始(这与服务器无关..)

如果您讨厌编写服务器端,我建议您查看 Parse.com。完全移动开发,为您处理所有服务器代码。对于大型项目,您确实应该编写自己的服务器内容。

我会考虑一些额外的事情:

  • 安全将如何运作?只是 HTTP 标头中的会话令牌?
  • 分层你的应用——网络/MVC
  • 离线时会发生什么?- 这是我们在没有及早考虑后正在处理的问题 - 疼痛。
于 2012-08-24T02:05:00.683 回答
0

I've had good success with creating a server using REST web services and XML data, but would recommend JSON instead. You can create this using Java and host it using Tomcat. This is widely deployed and widely consumable by multiple mobile and even non-mobile technologies.

A couple of factors to consider: * You'll probably want it in a DMZ and being Internet accessible so think about firewalls, reverse proxies, and encryption via SSL. * Will you host the server or sell the server to customers? Hosting is easy. If selling, there are many more considerations.

于 2012-08-24T01:24:35.827 回答