【问题标题】:Siutable framework for Async, REST and JSON WebService适用于异步、REST 和 JSON Web 服务的框架
【发布时间】:2013-09-04 18:39:35
【问题描述】:

我找到了similar question,但我没有满意的答案。


我要创建一些启动 Web 应用程序,我正在寻找最合适的**语言和框架。

我的决定是:

  • UI 必须与后端分离
  • 前端将接收 JSON 格式的数据
  • 后端需要 REST
  • 数据将存储在 MongoDB 中
  • 最初将部署在免费的云主机上

我对任何特定语言没有偏好,我只需要这样的框架:

  • 拥有全面的文档
  • 拥有强大的社区支持
  • 不需要任何特殊措施来实现 REST 访问
  • 可以轻松生成 JSON 响应

所以我基本上在寻找的是 web 框架,它支持创建可扩展的 web 应用程序并提供简单的实现(在语言和技术层面上)。我知道没有像最好的语言这样的东西,但我也知道我的要求相当严格,例如可以有一些选择:

  • EJB
  • Ruby On Rails
  • 姜戈
  • 春天
  • 玩!
  • 圣杯

这些网络框架或您正在使用的框架有哪些优点和缺点?


经过深入研究,我知道我真正想要的是 WebService,它可以访问 DB 中的一些数据,并将其以 JSON 格式提供给 UI 端以将其呈现给客户端。我也知道我的应用程序会比较大,所以我需要强大而全面的 Web 框架,但我仍然不知道该选择哪一个。

【问题讨论】:

  • 您对“强大而全面”的 Web 框架有何期望?
  • 我的意思是框架应该易于维护和扩展,并且必须支持 JSON、REST 和异步性,无需任何外部库和附加配置。
  • 嘿 squixy,看这个...你会喜欢的 :) youtube.com/watch?v=L0pjVcIsU6A
  • 好吧,我喜欢 YT 解释编程的视频 :) 在我看之前,我想提一下,我有点害怕像 JS 这样的语言,因为我真正喜欢的是我可以完全控制变量类型的强类型语言,用 JS 编写在某种程度上对我来说是失控的。
  • 呵呵...别担心。一旦你习惯了它就会很有趣:)

标签: json web-services mongodb rest web-frameworks


【解决方案1】:

我会推荐Node.js。原因是,

  • 它的可扩展性。支持更高的并发性。
  • 良好的 Websocket 支持(与 Django 不同)。
  • 您是一家初创公司,肯定会是一个小团队。 Node.js 是纯 Javascript(服务器端 JS)。因此,对于个人而言,无论是在前端还是后端都可以轻松维护 JS 代码。
  • Node 拥有一个开发和维护软件包的活跃社区。查看npm(节点包管理器)
  • 至于 Web 框架,您可以使用 expressJS。它是一个最小的网络应用框架,可轻松自定义。
  • Mongoosejs,Mongo 的 ORM 也非常详尽且令人印象深刻。
  • 您可以使用 Nginx 进行前端负载平衡。

另外,对于前端,有一个建议。如果您打算制作一个重型 JS 驱动的前端,请使用BackboneJS。如果您只是打算使用纯 JQuery,那么您最终会得到一个带有无限选择器和令人讨厌的意大利面条代码的糟糕 JS 代码。 Backbone 将帮助您为前端代码提供结构。

在过去的 8 个月里,我一直在我的项目中使用上述所有内容,这对我来说是很棒的体验。之前我更像是 Django 人。

【讨论】:

  • 我也在考虑 Angular.js。当我的应用变得更大时,你认为 Node.js 就足够了吗?
  • 它肯定是可扩展的。雅虎和微软使用 Node.js。我希望这足以安慰你:)(这很有趣,我一年前也有同样的问题)github.com/joyent/node/wiki/…
【解决方案2】:

Grab Node + Mongo + Express + Backbone.js

Building Node Applications with MongoDB and Backbone中描述得很好

这里的时间投入/程序化产出非常高,所以如果你有一个想法,这在开始时会很有帮助。

【讨论】:

    猜你喜欢
    • 2017-12-26
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 2019-05-23
    相关资源
    最近更新 更多