最近來node的火熱,帶動了一大批的框架,例如php
這些是我比較過的框架,下面依次作個簡單介紹node
這個是使用最多的框架,也是各個推薦新手入門的框架。jquery
Express 不對 Node.js 已有的特性進行二次抽象,只是在它之上擴展了 Web 應用所需的基本功能(我的感受至關於node中的jquery)laravel
我的評價,express適合小型項目,不適合大型企業級項目,我的用用還能夠,作爲快速入門是個很好的選擇,用過以後就能夠考慮進入 koa 框架的道路express
koa 是比 express 思想更先進的框架,是express原班人馬打造框架
koa解決的最大問題,利用async await的新語法特性,解決回調地獄的問題koa
koa 與 express 最大的不一樣,我的以爲有3點:async
1.在於 handler 的處理方法,express 是普通的回調函數, koa 是利用ES7 中 Async/Await 的特性,沒有回調,沒有回調,就大大加速了開發速度這一點而言,已經足以讓咱們跪舔了函數
2.koa是洋蔥中間件模式,執行到next的時候,會去調用下一個中間件,下箇中間件執行完再接着執行上箇中間件next下面的代碼oop
3.koa把 request, response 封裝到了同一個上下文對象 content
最爲express的進化,確實帶來更好的開發效率,成本只須要學西一下async await的新語法特性。能夠說做爲express框架的進階框架是很是好的了
express =》koa 以後,最大的問題就是開發項目的時候缺乏約束,單人開發還好,多人的時候,各類目錄結構,各類包的選擇,百花齊放的代碼風格。都是團隊開發頭疼的事情。
由於本人以前作過php開發,laravel框架的使用起來很舒服(優雅!),還有配套的laravel-admin。因此一直想找一個能像laravel這樣的node框架提升開發效率
回到正題,sails , loopback, thinkjs, egg 都是企業級框架,咱們又該如何選擇
Sails 是基於 exrpess 的大而全的框架,MVC框架,旨在模擬熟悉的Ruby on Rails框架的MVC模式,但支持現代應用程序的需求。捆綁了一個強大的ORM,即Waterline。自動生成的REST API
LoopBack 是創建在 Express 基礎上的企業級 Node.js 框架,只需編寫少許代碼就能建立動態端到端的 REST API,一致化的模型關係和對 API 訪問的權限控制等
ThinkJS 是國內360團隊推出的一款面向將來開發的 Node.js 框架,整合了大量的項目最佳實踐,讓企業級開發變得如此簡單、高效。框架底層基於 Koa 2.x 實現,兼容 Koa 的全部功能
Egg.js是《阿里旗下產品》基於Node.js 和 Koa的一個Nodejs的企業級應用開發框架,它能夠幫助開發團隊及開發人員下降開發和維護成本。Egg.js則是按照約定進行開發,奉行『約定優於配置』,具有提供基於Egg定製上層框架的能力、 高度可擴展的插件機制、內置多進程管理、基於Koa開發,性能優異、框架穩定,測試覆蓋率高、漸進式開發、開發成本和維護成本低等特色。