分享nodejs幾個好用的框架
第一名:express50.4k(2010年1月發布)
目前star和下載量最高的老牌框架。Express是一款基于Node.js以及ChromeV8引擎,快速、極簡的JS服務端開發框架,它提供了用來開發強壯的Web/移動應用,以及API的所有功能。并且開發人員還能夠方便地為它開發插件和擴展,從而增加Express的能力。https://github.com/expressjs/expressgithub.com第二名:meteor42k(2012年發布)
Meteor是一個基于nodejs和mongodb數據庫的實時web框架。你可以用js搞定客戶端、服務端的開發。另外,客戶端、服務端的界限被極大的模糊。客戶端的界面跟服務端的數據是雙向綁定的,修改服務端的數據,用戶界面會隨著更新;你也可以在客戶端直接修改服務端的數據庫。meteor/meteorgithub.com第三名:nest.js30.8k(2017年11月發布)
作為目前上榜框架中發布最晚,也是star最高且增長最快的typescript后端框架。Nest是一個用于構建高效,可擴展的Node.js服務器端應用程序的框架。它使用漸進式JavaScript,內置并完全支持TypeScript(但仍然允許開發人員使用純JavaScript編寫代碼)并結合了OOP(面向對象編程),FP(函數式編程)和FRP(函數式響應編程)的元素。Nest框架底層HTTP平臺默認是基于Express實現的,所以無需擔心第三方庫的缺失。Nest旨在成為一個與平臺無關的框架。通過平臺,可以創建可重用的邏輯部件,開發人員可以利用這些部件來跨越多種不同類型的應用程序。從技術上講,Nest可以在創建適配器后使用任何NodeHTTP框架。Nest提供了一個開箱即用的應用程序架構,允許開發人員和團隊創建高度可測試,可擴展,松散耦合且易于維護的應用程序。https://github.com/nestjs/nestgithub.com
Nest.js中文文檔docs.nestjs.cn第四名:koa30k(2013年11月發布)
Koa框架由Express原班人馬打造,它的核心是ES6的Generator。Koa使用Generator來實現中間件的流程控制,使用try/catch來增強異常處理,同時在Koa框架中你再也看不到復雜的callback回調了。Koa框架本身非常小,只打包了一些必要的功能,但是它本身通過良好的模塊化組織,讓開發人員可以按照自己的想法來實現一個擴展性非常好的應用。https://github.com/koajs/koagithub.com第五名:sails21.6k(2012年7月)
Sails作為一個非常穩固的Node.js框架,提供了建立任何規模的Web應用所需要的所有功能。Sails.js在底層使用了Express框架來提供對HTTP請求的處理,同時使用http://Socket.IO框架來處理WebSocket請求。同時作為一個前端應用開發框架,它允許開發人員選擇他/她熟悉的技術來開發應用。同時Sails.js也通過waterline框架實現了ORM功能。通過這個功能,你的應用程序可以在不進行大的修改的前提下,就可以從一個后端數據庫,切換到另外一個后端數據庫(也可以是一個NoSQL數據庫)。Sails特別適合用來開發對數據的實時更新有較高要求的應用,比如多人棋類游戲,單頁Web應用等等。如果你對Ruby,Django或者Zend有一定的了解,那么你將非常容易理解Sail中的概念。https://github.com/balderdashy/sailsgithub.com第六名:Egg16.2k(2016年7月)
Egg是基于Koa,由阿里Node.js團隊封裝的企業級Web應用解決方案,以約束和規范化團隊開發,幫助開發團隊和開發人員降低開發和維護成本為核心設計理念的優秀解決方案。Egg已經被用在阿里多條產品線(包括螞蟻)上,已經證明它的安全和可靠性,可以放心用。https://github.com/eggjs/egggithub.com第七名:fastify16k(2016年10月)
目前性能最好的node.js框架。Fastify是一個高度專注于以最少開銷和強大的插件架構,使用簡單,擴展靈活,包含了基于擴展的開發方式,同時官方為了方便開發plugin,提取了通用部分,方便模塊化,同時我們可以在路由中添加schema方便的進行數據的校驗(基于jsonschema),生態也很不錯,已經提供了很多擴展插件。https://github.com/fastify/fastifygithub.com第八名:loopback13.2k(2013年6月)
LoopBack開發框架是一套Node.js模塊集,可以用獨立使用或整合使用來快速開發RESTAPI接口程序。背后是IBM的子公司在支持。LoopBack應用可以通過模型API來跟數據交互,本地通訊在Node.js內部完成,遠程通訊使用REST客戶端API,如與原生客戶端iOS、Anroid和Html5等進行通訊。https://github.com/strongloop/loopbackgithub.com第九名:hapi12.8k(2012年8月)
HapiJS是一個開源的、基于Node.js的應用框架,它適用于構建應用程序和服務,其設計目標是讓開發者把精力集中于開發可重用的應用程序的業務邏輯,向開發者提供構建應用程序業務邏輯所需的基礎設施。https://github.com/hapijs/hapigithub.com第十名:polemo11k(2012年12月)
網易開源的游戲后端框架。pomelo是一個游戲服務器框架,與以往單進程的游戲框架不同,它是高性能、高可伸縮、分布式多進程的游戲服務器框架,并且使用很簡單。它包括基礎開發框架和一系列相關工具和庫,可以幫助開發者省去游戲開發中枯燥的重復勞動和底層邏輯工作,免除開發者的重造輪子,讓開發者可以更多地去關注游戲的具體邏輯,大大提高開發效率。Pomelo支持所有主流平臺的客戶端,并提供了客戶端的開發庫。https://github.com/NetEase/pomelogithub.com覺得有幫助就一鍵三連哦~