1、什麼是Node.js前端
1.一、Node.js是什麼node
Node.js是用來編寫高性能網絡服務器的JavaScript工具包數據庫
Node.js 是一個基於Chrome JavaScript 運行時創建的一個平臺。npm
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度很是快,性能很是好。瀏覽器
Node.js 是一個爲實時Web( Real-time Web)應用開發而誕生的平臺,它從誕生之初就充分考慮了在實時響應、超大規模數據要求下架構的可擴展性。這使得它摒棄了傳統平臺依靠多線程來實現高併發的設計思路,而採用了單線程、異步式I/O、事件驅動式的程序設計模型。這些特性不只帶來了巨大的性能提高,還減小了多線程程序設計的複雜性,進而提升了開發效率。服務器
Node.js 有着強大而靈活的包管理器( node package manager, npm),目前已經有上萬個第三方模塊,其中有網站開發框架,有 MySQL、 PostgreSQL、 MongoDB 數據庫接口,有模板語言解析、 CSS 生成工具、郵件、加密、圖形、調試支持,甚至還有圖形用戶界面和操做系統 API工具。網絡
Node.js 不是一種獨立的語言,與 PHP、 Python、 Perl、 Ruby 的「既是語言也是平臺」不一樣。 Node.js 也不是一個 JavaScript 框架,不一樣於 CakePHP、 Django、 Rails。 Node.js 更不是瀏覽器端的庫,不能與 jQuery、 ExtJS 相提並論。 Node.js 是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成爲腳本語言世界的一等公民,在服務端堪與 PHP、 Python、Perl、 Ruby 分庭抗禮。多線程
Node.js 能夠做爲服務器向用戶提供服務,與 PHP、 Python、 Ruby on Rails 相比,它跳過了 Apache、 Nginx 等 HTTP服務器,直接面向前端開發。 架構
Node.js 是一個讓 JavaScript 運行在瀏覽器以外的平臺。它實現了諸如文件系統、模塊、包、操做系統 API、網絡通訊等 Core JavaScript 沒有或者不完善的功能。併發
Node.js 不運行在瀏覽器中,因此也就不存在 JavaScript 的瀏覽器兼容性問題,你能夠放心地使用 JavaScript 語言的全部特性。
1.二、Node.js能夠幹什麼
正如 JavaScript 爲客戶端而生, Node.js 爲網絡而生。 Node.js 能作的遠不止開發一個網站那麼簡單,使用 Node.js,你能夠輕鬆地開發: 具備複雜邏輯的網站; 基於社交網絡的大規模 Web 應用; Web Socket 服務器; TCP/UDP 套接字應用程序; 命令行工具; 交互式終端程序; 帶有圖形用戶界面的本地應用程序; 單元測試工具; 客戶端 JavaScript 編譯器。