【问题标题】:Server for mobile and web applications用于移动和 Web 应用程序的服务器
【发布时间】:2011-08-26 10:47:40
【问题描述】:

我正计划构建一个大型应用程序。它将有一个基于浏览器的界面以及一个移动应用程序界面(iOS、Android、黑莓)。

我希望能够将数据从服务器推送到这些接口上,并且会有大量数据从移动应用程序发送回服务器。所以我的问题是我要构建什么样的服务器。

我主要是一名 PHP 开发人员,虽然我可以用 Java 编写并涉足其他方面。我很擅长学习一门新语言。作为一名 PHP 开发人员,我的想法是我可以构建一个 PHP 应用程序并使用它的 API 来支持其他接口。

但是会有很多数据在移动,我不觉得 PHP 真的是最好的基础。所以我正在探索替代方案。关于从哪里开始有什么想法吗?

【问题讨论】:

  • 无论您最终做什么,请记住在向移动设备发送/接收时使用 gzip 或其他压缩协议,如果如您所说,会有大量数据易手。当不在 wifi 上时,5kb 和 50kb 之间的差异非常明显,而压缩它的额外 CPU 周期则不是。只是一个想法。

标签: android ios web-applications blackberry server-push


【解决方案1】:

您可以使用像 Rhomobile 的 Rhodes 这样的框架来生成基于浏览器的客户端,它们还提供服务器组件:http://rhomobile.com/products/rhosync/

【讨论】:

    【解决方案2】:

    通常的做法是在不同服务器之间分离后端功能。

    • 服务器 1:提供静态内容
    • 服务器 2:提供动态生成的内容(基于需要 IO 的查询的内容,例如数据库交互
    • 服务器 3:用于实时推送功能的专用实时基础架构

    服务器 1 和 2 目前可能是同一台服务器,但我建议使用专用的实时服务器。服务器之间的通信通常使用某种message queue 来完成,尽管网络服务调用也是一种选择。

    我感兴趣的领域是实时推送,所以这里有更多信息。如果您想坚持使用 PHP,则可以使用 phpwebsocket 项目。如果您想查看 Java,那么 [WaterSpout}(http://www.spoutserver.com/)、jwebsocketJetty 已经存在了一段时间并且是(或者是我最后一次检查)由 Twitter Streaming API 使用。

    在我正在维护的 Realtime technologies guide 上,您的解决方案的实时组件有更多选项。

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多