egg.js和nest.js的對比

egg.js和nest.js的對比

前幾天突然看到一個羣在說現在用egg的人已經很少了,說用nest的人比較多,然後我就做了一個簡單的調查和對比。

egg和nest都是比較優秀的框架,但是兩個框架有比較大的區別,我主要分爲六個方面來分析egg和nest的區別

github

在github對比兩個框架的使用人數,在github還是比較有代表性的。

                                   egg	                                                      nest

Github.user_by 9.4k 21.5k

Github.watch 480 568

Github.star 15k 25.1k

Github.fork 1.5k 2k

這裏對比看來還是使用nest的人比較多一點

依賴的底層框架

egg nest
koa框架 express框架

兩大基礎框架的優缺點
Express:express框架歷史悠久,路由已經封裝在express內部了,調用比較方便,但是express中的callback hell這個處理起來就比較麻煩

Koa:express是比較年輕的框架,他使用了async/await這種異步回調函數大大減少了callback的麻煩,但是koa的路由有引入新的插件纔可以解決。

開發文檔

Egg:說實話egg的開發文檔還是比較完美的,東西寫的比較全也很齊

Nest:nest的開發文檔就比較一般般,可以區他們官方文檔對比一下就知道了。

模塊或者插件

Egg:在egg上面,插件是使用加載然後掛載的原理掛載到各個對象,這個優點就是基於egg中的loader和egg-core

Nest:在nest模塊加載方面,主要使用的是模塊容器-依賴注入(通過裝飾器和元數據實現)

代碼風格

Egg: 在egg裏面的代碼風格主要是Classify,在egg裏面有私有屬性與慢初始化的特點。

Nest: 在nest裏面的風格主要是ts風格,如果你會java或者前端的Angular框架可能就對nest的代碼風格比較熟悉。

特點

Egg:在egg裏面我很喜歡它的一個特點“約束優於配置”,有這個特點就可以減少企業制定的規則。Egg還可以制上層框架的能力,就是企業可以根據自己的需求開發出屬於自己的框架。還有高度可擴展的插件機制 內置多進程管理。

Nest:在nest裏面最大的特點可能就是,依賴注入容器,模塊化封裝,ts風格,模塊封裝就是每一個應用的每個邏輯都是一個模塊,而且可以封裝

說實話兩個框架都有比較明顯的特點吧,但是具體使用還是要看自己的業務適合哪一種,說實話,如果是在企業開發的話,我覺得egg比較適合,因爲他那個“約定由於配置”,比較適合企業裏面制定規則,如果想要一起討論的可以添加我的QQ1693490575
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章