Node.js会是这个应用程序的正确select吗?

我花了几天的时间搞清楚我打算build立的互动学生平台使用的开发堆栈。

我发现MEAN栈很适合这个工作。 但是,我面临着是否将Node.js用作应用程序的后端技术的困境:

考虑节点的原因

  • 后端将主要由实时组件组成。 例如协作工具,通知等
  • 这些组件将同时处理这些数据
  • 它将比传统的服务器端编程语言(比如PHP)更好地扩展
  • 使用REST为例如移动应用程序公开数据将是一件轻而易举的事情
  • 在前端和后端具有一种数据格式 (JSON)将加速开发。

疑惑

  • 一些组件需要计算 。 虽然不那么复杂,但可能会减慢应用程序的速度。
  • 尽pipe应用程序大多是一个单一的页面应用程序,但应用程序(在稍后的阶段有一些Node通常不适合的function ,例如支付工作stream程。

我已经改变了以前的做法,所以这次我想确保select正确的方法。 Node.js会是这个应用程序的正确select,还是像Laravel这样的PHP后端会随着应用程序的成熟而更好地适应这个工作?

我认为有很多可能性是你没有考虑的,例如,对于一些后端(比如与第三方的连接,pipe理UI,处理并发用户)使用Node,其他更适合的组件的后端(例如,需要大量计算的组件)。

也就是说,在你的“怀疑”中,我没有看到你描述的任何东西,尤其不是。 你说的计算的东西将是轻量级的,但我的build议是要把它像任何其他的asynchronous任务,然后,如果你后来决定,这是一个问题(例如减慢应用程序),这是相当微不足道的提取出来单独的Node进程(因此不阻止你的主应用程序的事件循环),或者使用你select的语言构build的组件(Java,.NET,C,Perl,不pipe)如上所述。

我不明白你为什么build议工作stream不适合Node。 我已经在Node和其他框架中看到并构build了一些它们,它比任何其他框架都不那么适合,而且比其他框架更好。