移动应用程序的服务器端设计选项

时间:2012-08-24 01:13:09

标签: java android iphone mobile

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

  • 广泛部署的服务器端策略是什么
  • 是否有可用的移动专用开源服务器端技术。
  • 人们考虑使用移动应用后端的因素。

2 个答案:

答案 0 :(得分:2)

我同意上面一半的答案。您应该使用REST架构 - 这是最简单的方法。我将Ruby on Rails用于我的移动项目。很快就可以开始构建服务器代码,并且几乎可以立即看到它在像heroku.com这样的地方工作。

所以我选择以下内容:

  • 红宝石在轨道上 - 值得您的时间接受
  • 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
  • 当您离线时会发生什么? - 这是我们在没有早期思考之后正在处理的问题 - 痛苦。

答案 1 :(得分:0)

我使用REST Web服务和XML数据创建服务器取得了很大成功,但建议使用JSON。您可以使用Java创建它并使用Tomcat托管它。这被广泛部署并且可通过多种移动甚至非移动技术广泛使用。

要考虑的几个因素:  *您可能希望它在DMZ中并且可以访问Internet,因此请考虑防火墙,反向代理和通过SSL加密。  *您是主持服务器还是将服务器销售给客户?托管很容易。如果销售,还有更多的考虑因素。