Restful的Web应用程序与Node.js?

我来自java,我玩node.js。 似乎是非常快速和短的开发一些应用程序。 但是真正的云应用程序足够好吗? 我用springmvc,安全,数据等..但是,像Node.jsspring的一些模块? 你会build议什么?

你真的有两个问题在这里:

  1. 节点是否足够用于真正的云应用程序?
  2. node.js中是否有类似spring模块?

对于第一个,Node正被一些非常大的公司(Walmart)用于生产,而2014年的普遍共识是使用事件驱动的web服务器(主要是node和nginx,尽pipe还有其他的)是最好的为最高需求的应用提供服务。 是的,一旦你已经学会了如何使用它,节点就足够了。

对于第二个,我不知道spring ,但有框架。 到目前为止,我的大部分工作主要是基于控制台,而不是基于networking,所以我没有search任何东西,但环顾四周。

我是目前的java / spring开发人员,我已经用nodejs和expressjs玩了几个星期。 Nodejs是一个非常好的Web应用程序框架,但它是最适合您的项目吗? 在我看来,你应该在select环境之前分析你的项目。

如果你期望有太多的并发请求,Nodejs是一个非常好的select,因为使用了非阻塞的I / O模型。 同样的,我们可以因为无阻塞的特性而陷入困境。 想象我们想从数据库中检索一些数据,操作这些数据并将结果作为响应发送。 它应该很容易,但有时候,由于Nodejs的asynchronous性质,不是,你必须find一个解决scheme来实现同步,默认情况下是asynchronous的,使代码有点棘手。 我推荐Async.js来解决这个“问题”。

服务器端的代码非常简单,请求和响应都只发送JSON,通过AngularJS加载html中的所有内容,从而提高了性能。 这个好处也有一个反对意见。 部分应用程序可以很容易地复制,使用SpringMVC和JSTL要复杂得多,因为几乎所有的内容都是在服务器端注入的。 在我看来,与Spring比较容易做一个整洁的项目,这对于大项目来说非常重要。

您可以在本文中findSpringMVC和NodeJS之间的比较: “由Spring家伙发现Nodejs&Express”

ps:如果最后你select了Nodejs,我build议你去看看MeteorJS ,真是太神奇了:)

这里有几个更为人熟知的现有的节点内的WEB框架模块:

  • 由沃尔玛HAPI
  • performance

如果沃尔玛对NodeJS在黑色星期五使用它感到高兴,我会认为大多数人可能能够结果。