node介紹

javascript是一種遵循ECMAScript標準的腳步語言.javascript

最初只能運行在瀏覽器端.用來操做DOM:表單驗證、動畫.java

用來數據交互的是:ajaxnode

一般所指的 JavaScript :BOM + DOM (W3C)+ ECMAScriptgit

 

如今經過node咱們可讓JavaScript也在服務器環境中運行.github

從數據角度來講:客戶端只負責界面交互,主動的發起 HTTP 請求,請求後臺服務器,把數據渲染到界面。ajax

服務器提供的 HTTP 服務,接收 客戶端的 HTTP 請求,而後處理 HTTP 請求, 最後把要發送給客戶端的響應數據經過網絡發送給客戶端。npm

 

那麼什麼是Node.js呢編程

可是!Node 不是一種新的語言 ,知識一個能夠用來解析和執行JavaScript語言的一個環境或者說是一個平臺
賦予了JavaScript文件操做,網絡造做等接口API
Node.js的包管理系統npm是世界上最大的開源生態系統


Node的誕生經歷:Node.js 是一種創建在Google Chrome's V8 引擎上的non-blocking(非阻塞),event-driven(基於事件的)I/O平臺 Node.js平臺使用的開發語言是JavaScript,平臺提供了操做系統底層的API,方便作服務器端編程, 具體包括:文件操做、進程操做、通訊操做等系統模塊,支持模塊化的開發,
  • Node 的做者:Ryan Dahl
  • 2004年還在紐約讀數學系博士
  • 2006年退學(世界那麼大,我想去看看),生活所迫,選擇了碼農
  • 接項目、工做、旅行,兩年以後,成爲了高性能Web服務器的專家
  • 2009年5月,Ryan Dahl 在 github 上發佈了最初的 Node 版本
  • 2010年末,Ryan Dahl 加入 Joyent 公司全職負責 Node 的發展
  • 2011年7月,Node 在微軟的支持下發布了 Windows 版
  • 2012年1月底,Ryan Dahl 將掌門人身份轉交給了 Isaac Z.Schlueter,本身轉向一些研究項目
  • 2014年12月,多位重量級Node開發者不滿 Joyent 對 Node 的管理,自立門戶建立了 io.js
  • 2015年9月,Node 與 io.js 合併,Node 的版本從 0.12.7 直接升級到了 4.0.0
  • 合併後的 io.js 和 Node 在 Joyent 公司的維護下並行了兩個版本:
    • 一個是4.x.x 仍是原來的 Node,這個版本是穩定版
    • 一個是5.x.x,目前已經更新到了 6.6.0,其實就是 io,最新特性版,不建議生產環境使用

Node的特色:
  事件驅動
  異步IO模型
  跨平臺


使用 Node 能夠作什麼
  • 高性能的網站服務器
  • 簡單易用的命名行應用程序
    • i5ting、gulp、less
  • 實時多人遊戲後臺服務器
  • 高大上的桌面應用程序
    • 使用 Web 技術 做爲解決方案
  • 底層的物聯網開發
  • 移動開發
    • Ionic --> 安卓 IOS
    • 使用 Web 技術做爲解決方案