2014-11-02 44 views
1

我花了几天的时间弄清楚我打算构建的交互式学生平台使用的开发堆栈。Node.js会是这个应用程序的正确选择吗?

我发现MEAN堆栈可能很适合这项工作。不过,我面临着一个两难选择是否使用Node.js的作为后端技术的应用:

原因考虑节点

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

  • 的某些组件需要计算。虽然不那么复杂,但可能会减慢应用程序的速度。
  • 虽然应用程序主要是一个单页的应用程序,该应用程序将(在后面的阶段有一些功能节点似乎通常不适合。例如,支付流程。

我已经做了开关从以前的方法来看,所以这次我想确保选择正确的方法,Node.js是否是这个应用程序的正确选择,或者,例如,随着应用程序成熟,Laravel的PHP后端会更好地满足工作需求?

+0

那么你不会自己建立一个支付系统吧?在这种情况下,我想你选择的技术并不重要。 – Whymarrh 2014-11-02 11:25:22

+0

当然不是与银行的联系,但是如果需要与系统的其他组件集成,那是不同的故事,对吗? – jroeleveld 2014-11-02 11:30:28

+0

我不完全确定“与系统的其他组件集成”是什么意思?节点与其他服务器语言没有什么不同(在高层次上):它可以处理请求并发送响应。 – Whymarrh 2014-11-02 12:45:21

回答

1

我认为你有没有考虑过一系列的可能性,例如它是一个完全有效的方法使用节点的的一些的后端(例如,连接到第三方,管理UI,处理并发用户),同时将一些后端委托给更适合的其他组件(例如需要大量计算的组件)。

这就是说,我没有看到你在'疑惑'中描述的任何特别非节点。你说的计算材料是轻量级的,但我的建议是把它当作任何其他异步任务来对待,然后如果你以后决定它是一个问题(例如减慢应用程序),那么将它提取到任何一个单独的Node进程(因此不会阻塞主应用程序的事件循环),或者使用如上所述的选择语言(Java,.NET,C,Perl,或其他)构建的组件。

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

相关问题