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

时间:2014-11-02 11:23:03

标签: node.js mean-stack

我花了最近几天的时间来确定用于我计划构建的交互式学生平台的开发堆栈。

我发现MEAN堆栈可能非常适合这项工作。但是,我是否将Node.js用作应用程序的后端技术面临两难选择:

考虑节点的原因

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

质疑

  • 某些组件需要计算。虽然不是那么复杂,但可能会降低应用程序的速度。
  • 虽然应用程序主要是单页面应用程序,但应用程序将在稍后阶段具有Node似乎不适合的某些功能。例如,支付工作流程。

我已经从之前的方法切换,所以这次我想确保选择正确的方法。 Node.js是否是这个应用程序的正确选择,或者,例如,随着应用程序的成熟,使用Laravel的PHP后端会更好地适应这个工作?

1 个答案:

答案 0 :(得分:1)

我认为您还没有考虑过各种各样的可能性,例如,这是一种非常有效的方法,可以将Node用于后端的某些(例如,与第三方的连接,管理UI,处理并发用户),同时将一些后端委托给更适合的其他组件(例如,需要大量计算的组件)。

那就是说,在你的怀疑中,我没有看到你描述的任何东西。特别是非点头的。你说的计算内容将是轻量级的,但我的建议是将其视为任何其他异步任务,然后如果您稍后决定它是一个问题(例如,减慢应用程序),那么提取它是非常微不足道的。进入一个单独的Node进程(因此不会阻止你的主应用程序的事件循环)或使用以你选择的语言(Java,.NET,C,Perl等)构建的组件,如上所述。

我不明白为什么你建议工作流程不是Node适合的。我已经在Node和其他框架中看到并构建了许多它们,它不比其他任何框架更适合它,并且比某些框架更好。