node.js不是高階語言,而是基於Chrome V8引擎的JavaScript運行環境,是讓JavaScript運行在服務端的開發平台,用來支援JavaScript程式碼的執行,用於方便地建立回應速度快、易於擴展的網路應用。
本教學操作環境:windows7系統、nodejs 12.19.0版,DELL G3電腦。
JavaScript 誕生於 1995 年,幾乎是和網路同時出現;Node.js 誕生於 2009 年,比 JavaScript 晚了 15 年左右。
在 Node.js 之前,JavaScript 只能運行在瀏覽器中,作為網頁腳本使用,為網頁添加一些特效,或和伺服器進行通訊。有了 Node.js 以後,JavaScript 就可以脫離瀏覽器,像其它程式語言一樣直接在電腦上使用,想幹什麼就做什麼,再也不受瀏覽器的限制了。
Node.js 不是新的程式語言,也不是一個JavaScript 框架,它是一個基於Chrome V8引擎的JavaScript運行環境,是一個讓JavaScript運行在服務端的開發平台,用來支援JavaScript代碼的執行。用程式設計術語來講,Node.js 是一個 JavaScript 執行時期(Runtime)。
Node.js對一些特殊用例進行最佳化,提供替代的API,讓V8在非瀏覽器環境下運作得更好,V8引擎執行Javascript的速度非常快,效能非常好,基於Chrome JavaScript運行時建立的平台, 用於方便地建立響應速度快、易於擴展的網路應用。
Node.js 的誕生
JavaScript 的一生伴隨著瀏覽器大戰。 JavaScript 由 Netscape(網景)瀏覽器發布,但是 Netscape 在和 IE 的競爭中落敗,早已不復存在;後來谷歌公司的 Chrome 瀏覽器異軍突起,憑藉強悍的性能把 IE 按在地上摩擦。
Google公司在 Chrome 瀏覽器中整合了一種名為「V8」的 JavaScript 引擎(也即 JavaScript 解釋器),它能夠非常快速地解析和執行 JavaScript 程式碼。
V8 引擎使用 C 語言編寫,可以獨立運行,也可以嵌入任何其它 C 程式中。谷歌公司將 V8 引擎甚至整個 Chrome 瀏覽器都開源了,任何人都可以免費地將 V8 應用到自己的專案中。
V8 引擎的強大,以及當年JavaScript 的火爆,使得一名叫Ryan Dahl 的程式設計師動起了“歪心思”,他希望在瀏覽器之外再為JavaScript 構建一個運行時,讓JavaScript 能夠直接在電腦上運行,這樣JavaScript 就能像Python、Ruby、PHP 等其它腳本語言一樣大展宏圖,不必再受限於瀏覽器,只能做一些小事情。
Ryan Dahl 和他的團隊真的做到了,而且做得很好,他們將這套獨立的JavaScript 運行時命名為Node.js;為了避免被誤認為是JavaScript 框架,現在也經常簡稱為Node。
Node.js的優勢
1、前端/後端開發使用同一種語言
像ASP.NET 或Spring 這樣的技術需要開發人員學習一門新的服務端語言,例如C#,VB.NET 或Java。而 Node.js在服務端和客戶端都是使用 JavaScript,這表示開發人員只需在各層上使用語言。
2、容易學會,對於開發者易轉型
有一個事實就是 JavaScript 是 Web 開發者們熟知的語言,大部分人都了解 JavaScript 或多少使用過它。所以說,一個 Web開發人員從其他技術轉型到 Node.js 是很簡單的。
3、輕量
Node.js 使用的是事件驅動架構,這就是說在它上面做的每一件事,每一個獨立的呼叫和操作,都是一系列的非同步回調。這使得 Node.js運行在一個執行緒上,這一點和其它的 Web 技術是不同的,它們每個客戶端的請求都會產生一個新的執行緒來處理。這也正是非阻塞I/O的本質所在。
4、支援NoSQL 資料庫
在Node.js 應用程式中使用像MongoDB 這樣的NoSQL 資料庫簡是十分常見的,MongoDB 和傳統的SQL資料庫不同的是,它使用的是基於文件的模型而非關係型模型,它用的不是表,而是類似JSON 這樣的物件。這就很適合 ORM 的熱愛者了。
5、有很好的IDE 和程式碼編輯器支援
JavaScript 已經存在相當長一段時間了,所以像Visual Studio,Eclipse 這樣的IDE 都是支援JavaScript程式碼提示和高亮的,另外像NotePad 和Sublime Text 之類的程式碼編輯器也同樣支援這些。
6、程式碼託管服務支援廣泛
一些 Web 伺服器和雲端服務供應商都支援 Node.js 的 Web 應用。我們在這裡說幾個,包括 Google,Microsoft IIS,Heroku,Microsoft Azure,Amazon(AWS)等等。
更多node相關知識,請造訪:nodejs 教學! !
以上是node.js是高階語言嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!