可用于下一個項目的9個Node.JS框架
Node.js
Node.js由Ryan Dahl于2009年創(chuàng)建。它是一個開源的跨平臺運行時環(huán)境,用于開發(fā)服務器端和網(wǎng)絡應用程序,它是基于Google Chrome V8 JavaScript引擎構建的。它允許您使用Node.js中的JavaScript執(zhí)行使用Ruby或PHP可以執(zhí)行的所有操作。
為什么開發(fā)人員喜歡Node.js?
這是開發(fā)人員選擇Node.js開發(fā)應用程序的原因:
- 快速: V8 Google Engine使Node.js能夠提供快速發(fā)布周期。這使得對網(wǎng)絡連接,文件系統(tǒng)和數(shù)據(jù)庫的讀寫速度非常快。
- 實時: websocket協(xié)議的強大功能可以在客戶端和服務器之間輕松快速地進行通信。它是即時的,非常適合實時應用程序,如聊天或游戲。
- 靈活:開發(fā)人員可以為客戶端,服務器端,后端和前端使用相同的語言(這可以同時執(zhí)行)。它提供端到端的解決方案。
- 跨平臺支持: Node.js可在任何操作系統(tǒng)上虛擬運行。這使Node.js可移植,并且您的應用程序能夠支持廣泛的用戶受眾。
- 線程: Node.js使用非阻塞I / O調用在單個線程上運行,支持數(shù)萬個并發(fā)連接。單線程的缺點是不支持垂直縮放。
- 事件循環(huán): Node.js使用事件循環(huán)來實現(xiàn)可伸縮性,而不是進程或線程。服務器在回調定義結束時自動進入事件循環(huán)。
- 社區(qū): Node.js由強大,多樣化,活躍且快速擴展的時髦社區(qū)提供支持。開發(fā)人員使用Git共享,發(fā)出功能請求并上傳包和錯誤修復。
開發(fā)人員喜歡Node.js,因為它將腳本語言(JavaScript)的易用性與Unix網(wǎng)絡編程的強大功能相結合,可以選擇各種強大的框架。
基于應用程序功能,我將Node框架分為三種類型:API,全棧和Sinatra。
API
以下框架是由API驅動的,非常適合快速部署Node.js API服務器。
#1 Actionhero
這是一個用于Node.js的快速、輕量級和多傳輸API服務器,非常適合創(chuàng)建易于使用的工具包來制作可重用和可擴展的API。

Actionhero提供高端支持(例如通過JSON集成),但也可以在低級別上工作(例如與TCP協(xié)議通信)。它支持集群,內(nèi)置支持后臺任務,零停機部署,無需運行Apache或Nginx即可像CDN一樣提供。
#2 Loopback
這是一個由IBM創(chuàng)建的高度可擴展的API框架,它允許您使用非常少的編碼來創(chuàng)建動態(tài)的端到端REST API。它通過為開發(fā)人員提供簡單的API工具來補充Express框架。

Loopback API可以連接設備并與Android,iOS和AngularJS SDK集成以創(chuàng)建客戶端應用程序。對于應用程序的圖形版本,Loopback使用StrongLoop Arc。
#3 Restify
這是一個用于構建REST API的輕量級框架。它是一個服務器端框架,用于通過API提供數(shù)據(jù)。Restify專注于調試和分析,可以優(yōu)化您的服務器。

#4 Socket.io
該框架的目的是支持實時Web應用程序(例如文檔協(xié)作和數(shù)據(jù)交換)。Socket.io允許Web客戶端和服務器之間的事件驅動通信; 它的工作方式類似于瀏覽器中的客戶端庫,它還有一個Node.js的服務器端庫。
全棧
以下框架側重于全棧支持。它們涵蓋了應用程序開發(fā)的每個步驟,從中間件和UI到API和數(shù)據(jù)庫集成。
#5 Meteor
這是一個模型 - 視圖控制器(MVC)框架,用于構建實時Web應用程序,該應用程序不斷與服務器同步。它是內(nèi)置的預編寫,自包含模塊集,支持編寫應用程序代碼。

使用Meteor構建的應用程序可以在OS X,Windows和Linux操作系統(tǒng)上運行。這是一個自以為是的框架。
#6 Keystone
此框架非常適用于數(shù)據(jù)庫驅動的Web應用程序和API,其中Express,MongoDB和Mongoose是Node堆棧的關鍵組件。

Sinatra-Like
以下是輕量級框架,其功能類似于Sinatra。
#7 Express
它是快速,無條件,極簡主義和高效的中間件路由框架。Express是最重要的Node框架之一,是構建Web /移動應用程序和API的理想選擇。

您還可以閱讀:“如何使用Node,Express 4和Docker部署RESTful API”。
#8 Koa
這是一個無回調的輕量級中間件框架,允許您編寫Web應用程序和REST API。您還可以添加新功能并自定義路徑中的任何內(nèi)容。它支持ES6和***的JavaScript版本。

這不是***使用的用戶的***框架,因為它有其他方法可供學習。
#9 Hapi
此框架非常適合快速構建和API測試,但您也可以使用Hapi構建完整的網(wǎng)站。它有很多插件,可以在不破壞其余代碼庫的情況下分段處理。非常適合團隊項目。
由于Hapi是由Walmart開發(fā)人員創(chuàng)建的,因此它提供了企業(yè)級功能。

你會選擇什么樣的框架進行項目開發(fā)呢?