Node.js深受歡迎的六大原因
Node.js 是一種后起的優(yōu)秀服務(wù)器編程語(yǔ)言,它用來(lái)構(gòu)建和運(yùn)行 Web 應(yīng)用,這和 ASP.NET,Ruby on Rails 或 Spring 框架做的工作是類似的。它使用 JavaScript 作為主要的開發(fā)語(yǔ)言,有一個(gè)自帶的輕量級(jí) Web 服務(wù)器,還有 Node 包管理(NPM)的大量插件,你就可以按照你自己的需求來(lái)塑造 Web 應(yīng)用,像添加 MVC 特性,加入 Restful 服務(wù),OAuth 或 SSL 安全性等等。但是,是什么原因讓 Node.js 突然間如此流行呢?聽起來(lái)像是有了一種新的 Web 開發(fā)技術(shù),是這樣嗎?我們來(lái)匯總一下原因:
1、前端/后端開發(fā)使用同一種語(yǔ)言
像 ASP.NET 或 Spring 這樣的技術(shù)需要開發(fā)人員學(xué)習(xí)一門新的服務(wù)端語(yǔ)言,比如C#,VB.NET 或者 Java。而 Node.js 在服務(wù)端和客戶端都是使用 JavaScript,這意味著開發(fā)人員在各層上只需使用一門語(yǔ)言。
2、容易學(xué)會(huì)
有一個(gè)事實(shí)就是 JavaScript 是 Web 開發(fā)者們熟知的語(yǔ)言,大部分人都了解 JavaScript 或多少使用過(guò)它。所以說(shuō),一個(gè) Web 開發(fā)人員從其他技術(shù)轉(zhuǎn)型到 Node.js 是很簡(jiǎn)單的。
3、輕量
Node.js 使用的是事件驅(qū)動(dòng)架構(gòu),這就是說(shuō)在它上面做的每一件事,每一個(gè)獨(dú)立的調(diào)用和操作,都是一系列的異步回調(diào)。這使得 Node.js 運(yùn)行在一個(gè)線程上,這一點(diǎn)和其它的 Web 技術(shù)是不同的,它們每個(gè)客戶端的請(qǐng)求都會(huì)生成一個(gè)新的線程來(lái)處理。這也正是非阻塞I/O的本質(zhì)所在。
4、支持 NoSQL 數(shù)據(jù)庫(kù)
在 Node.js 應(yīng)用中使用像 MongoDB 這樣的 NoSQL 數(shù)據(jù)庫(kù)簡(jiǎn)是十分常見的,MongoDB 和傳統(tǒng)的 SQL 數(shù)據(jù)庫(kù)不同的是,它使用的是基于文檔的模型而非關(guān)系型模型,它用的不是表,而是類似 JSON 這樣的對(duì)象。這就很適合 ORM 的熱愛(ài)者了。
5、有很好的 IDE 和代碼編輯器支持
JavaScript 已經(jīng)存在相當(dāng)長(zhǎng)一段時(shí)間了,所以像 Visual Studio,Eclipse 這樣的 IDE 都是支持 JavaScript 代碼提示和高亮的,另外像 NotePad++ 和 Sublime Text 之類的代碼編輯器也同樣支持這些。
6、代碼托管服務(wù)支持廣泛
一些 Web 服務(wù)器和云服務(wù)提供商都支持 Node.js 的 Web 應(yīng)用。我們?cè)谶@里說(shuō)幾個(gè),包括 Google,Microsoft IIS,Heroku,Microsoft Azure,Amazon(AWS)等等。