2013-07-22 46 views
0

最近,我聽到很多JavaScript被嚴重使用。 Node.js,express.js和類似的東西越來越多,但我從來沒有想過深入這個話題。考慮服務器端JavaScript的使用

現在,由於信息氾濫不會減少,我不能再忽視這些情況。

我想知道兩件事情:

  • 我可以取代我完整的,簡單的PHP後臺,這是主要只對數據庫訪問使用,服務器端JavaScript

,如果是:

  • 這樣做有什麼好處嗎?

,如果沒有:

爲什麼會出現這樣的炒作?

這個話題似乎相當複雜,並不太容易學,但隨着時間的推移,我越來越覺得這可能是未來的後端編碼。

+0

爲什麼你想用一個你不明白的系統替換一個已經工作的系統? – Anigel

+0

如果我不會,我仍然會編碼PASCAL – Sprottenwels

+2

你可以,我沒有看到任何好處。您將需要各種庫,如節點js-db用於數據庫等 –

回答

1

是的,你可以。

如果您主要提供數據,更現代的方法是使用node.js來實現restful api。 Node.js特別適合這一點,因爲它本質上是異步工作的 - 這意味着對數據源(即數據庫)的每個請求本質上不會在服務器等待返回時阻塞,從而使其遠遠超過它的權重在處理許多請求時效率很高。

您可以使用節點模塊express.jsrestify.js來實現這一點。

雖然 - node.js是一個單線程應用程序,這意味着一些工作必須在可縮放之前執行。有一些很好的解決方案,比如使用Amazon Elastic beanstalk。但是,由於node.js是一個相對新手,許多其他提議的解決方案可能需要一些哄騙來準備生產。

在開始之前,您可能會發現閱讀道格拉斯克羅克福德的'Javascript the good parts'是有益的 - 我需要將我的Javascript知識帶到我可以爲節點編寫高質量可維護代碼的水平。js

+0

令人印象深刻的良好答案,謝謝! – Sprottenwels

1

是的,你可以取代它。

有關節點的主要概念,你必須知道的是async,第二個是event-driven。 因此,如果您的PHP應用程序只是訪問數據庫並提供響應,node.js會在這些應用程序中更高效,因爲它不會阻止來自數據庫的響應空閒,但可以處理其他請求等。

這並不複雜,如果你這樣做。只要去潛水即可。不要問 - 原型。這是瞭解你是否真的需要的最好方法。

我將我所有的PHP需求都替換爲node.js,除了模板。