2014-11-02 65 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和其他框架中看到並構建了它們中的一些,它比其他框架更適合它,並且比其他框架更好。

相關問題