node、npm、chrome、v八、sandbox是什麼?

這些東西有些比較經常使用,有些僅知道個名稱,但不管是熟悉仍是陌生的,要比較精確地解釋這些東西,是有必定的難度,可這些東西對前端開發很是重要,仍是須要有明確的概念。前端

PS:內容點到即止,否則一個東西一篇文章都寫不完。node

總體認識npm

在學習方法上,對於互有聯繫的東西,有一個總體的印象,比起一個個瑣碎的認識更爲重要,因此標題上的概念,我更喜歡從總體上去認識。瀏覽器

PS:Chrome瀏覽器和Node的組件構成緩存

從上圖能夠看出,Node的結構與Chrome很是類似,Node選擇JavaScript爲實現語言,V8爲執行引擎,利用libuv實現基於事件驅動的異步架構。 服務器

名詞解析架構

Chrome異步

一款網頁瀏覽器。工具

V8性能

V8(C++開發)是JavaScript的執行引擎,它將JavaScript編譯成原生機器碼(IA-32, x86-64, ARM, or MIPS CPUs),而且使用瞭如內聯緩存等方法來提升性能,運行速度媲美二進制程序。

sandbox

沙盒(sandbox)是一個 C++ 庫,它容許建立沙盒進程 (在很是嚴格的環境中執行的進程)。沙盒進程能夠自由使用的資源僅僅是CPU週期和內存。例如,沙盒進程沒法寫入磁盤或顯示本身的窗口。

PS:https://chromium.googlesource.com/chromium/src/+/master/docs/design/sandbox_faq.md

Node

一個基於 Chrome V8 引擎的 JavaScript 運行環境。

Node是一個運行環境,最須要認識到的是這一點。有人可能會誤覺得Node是一個前端工程的構建工具,這是不對的,它僅僅是Node的工具類應用,也有人認爲Node是一個Web服務器,雖然建立者最初的意圖確實是作這個,但隨着時間發展,它就不單單如此而已,更有人認爲Node是一個命令行工具,但顯然是一個包含關係,而不等於。

libuv

一個專一於異步 I / O 的跨平臺支持庫。

npm

npm是幫助Node完成第三方模塊的發佈、安裝和依賴的工具。

npm之於Node,至關於gem之於Ruby,pear之於PHP,Maven之於Java。

參考文獻

一、《深刻淺出Node》by 田永強

二、http://nodejs.cn/

三、http://libuv.org/

相關文章
相關標籤/搜索