Express會被Koa2取代嗎?
不會。2種風格而已。就好比react會被vue取代么?java會被node取代么?
1、先說結論
目前沒有看到Express會被koa2取代的跡象。
目前來說,Express的生態更成熟,入門門檻相對較低。不過koa2的亮點足夠吸引人,生態也開始變得完善。
2、從使用門檻來說
從使用上來說,Express對初學者更有好些,對著官網修修改改改就能做點東西出來。
koa2入門門檻比Express高些,更精簡的內核帶來的小問題就是,對使用者搭積木的能力要求更高了,畢竟連核心的路由功能都去掉了。
更不要說koa2中最吸引人的async/await,很多初學者promise都搞不明白,async/await用起來一頭霧水,koa2最精華的部分之一就派不上用場了。
3、從大趨勢來說
node社區壯大後,參與node服務端編程的同學會越來越多。屆時,對服務端框架的要求會越來越高,那個時候就是各種企業級解決方案們的戰場了。核心很有可能還是基於Express或者koa2,或者其他的。
至於Express和koa2,還是會繼續有很大的市場,那個時候版本不知道是多少。
4、後話
Express、koa2略有小研究,常年分享周邊科普文,歡迎關注 我的SegmentFault博客,或者star 《Nodejs學習筆記》
不說別的,光看在前端工具中的應用比如webpack等,express就佔了壓倒性優勢,只這一塊就保證了express不會被koa取代。
個人想的多一點,請問題主是否在考慮學習 or 深入學習其中之一?
如果是這樣的話,那麼建議都試試,兩個都很是很好的框架。
如果不是,而僅僅是討論類似A和B誰更漂亮這種話題,不予置評。
express並沒有那麼不好。體驗主要是差在回調函數吧。其實express也可以直接上async await啊,寫個函數包裹起來就可以了。體驗還行。就是要每次都要import這個函數。express也可以不用寫回調函數了。
Koa2 和Express 本來就差不多,Express不會被取代,但我更喜歡用Koa2
應該不會。express用的是回調callback,一開始用感覺其實還好,但代碼量一大就很頭疼了,koa2用async和awit來完成同步,看起來比較省心,但express的npm太多了,肯定沒法取代,就算koa2可以轉回調函數,也是很麻煩的事,而且兩種框架都是很輕量級的,都是node.js框架,只是寫法不太一樣……
你要相信這個世界上知道callback的人async await的人多多了,就像為啥jquery的star比react vue低那麼多呢,因為大多數jquery開發者根本不知道啥是github啊QAQ,就算知道了async await又怎麼樣,她們還是喜歡callback= =
什麼叫做取代?都用koa開發沒人用express開發算取代嗎?這種問題沒多大意義的。
就現在商用的來說,express絕對要比koa2多得多。express也可以完全改造為async的方式。並且express有著比koa2更多的中間件 社區資源。
不過從個人角度,自己的項目還是用koa2搭建的,就是喜歡追新的。
推薦閱讀: