【发布时间】:2011-06-05 19:29:57
【问题描述】:
我将拥有原生 iPhone 和 Android 应用程序,以及稍后的移动网站(适用于其他移动平台),所有这些都与管理用户、设置、视频、社交图等的后端对话。我还将拥有一个动态的包含大量视频、图片和社交图管理的网站。该网站基本上将是手机上应用程序的更具特色的版本。后端包括视频存储、转码、视频推荐引擎、与您的网络共享视频的选项。
我的想法是我应该构建一个公共应用程序服务层,它公开一个返回 JSON 的 RESTful api,并让应用程序和网站都与这个 api 对话。
我的问题是我应该将网站和服务层都保留在一种技术中,还是使用 Java 作为服务层,使用 Rails 或 Python 作为网站,以利用他们声称的更快的开发时间。该站点将有大量的 JavaScript 和 AJAX 来支持动态行为。如果我使用 Rails 或 Python,他们是否也应该将 REST/JSON 与服务层通信?在部署和扩展管理方面,似乎对所有后端部分都坚持使用 Java 之类的一种技术可能会更好。但另一方面,Rails 和 Python 承诺 Web 层的开发和维护时间会更快。如果我将 Rails 用于 Web 层,将它部署在 JRuby 中与服务层相同的 JVM 中以减少在 Web/应用程序服务器上管理的移动部件是否有意义?
该网站可能会增长到数以百万计的用户和视频。开发团队在 Java 方面经验丰富,会一些 Python,但很聪明,可以快速学习其他技术。
随意建议您选择的技术堆栈。
【问题讨论】:
-
这是非常主观的,而且太宽泛了;你问的是很多公司都基于他们的整个业务并且已经发展了十多年的东西;移动并没有出现在 iPhone 上,只是因为它而变得更加复杂。
-
我了解 Archie 的出处。尽管其他公司已经对此进行了改进,但尝试从一开始就正确实施它是有帮助的。架构错误需要花费大量资金来修复。 2 年后,我在这里寻找同一个问题的答案。
标签: java ruby-on-rails json rest mobile