日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Node.js主流Web框架對(duì)比

 Node.js是專注高性能服務(wù)器開(kāi)發(fā)的javascript運(yùn)行環(huán)境。我們將在這篇文章向大家介紹幾款主流Node.js Web框架的特點(diǎn)及優(yōu)缺點(diǎn),希望給大家作為參考。

專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)長(zhǎng)沙縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

主要參考的Node.js Web框架包括:express, koa, hapi, restify, fastify, eggjs, thinkjs, Sails, Adonisjs, NestJS。

Benchmarks

  • 測(cè)試機(jī)器:macos i5 8g
  • 測(cè)試工具:wrk -c 100 -t 10 -d 1m http://127.0.0.1:3000
  • Node: v12.4.0

Nodejs Web框架壓測(cè)

其實(shí)單單helloworld的壓測(cè)意義不是很大,但是也可以給我們做個(gè)簡(jiǎn)單的參考。其中express, koa2, hapi, restfiy, fastify屬于微框架,eggjs, thinkjs, Sails, Adonisjs, NestJs要稍重一些。其中Sails, NesstJs是基于express,eggjs, thinkjs是基于koa2。我們可以看到Fastify的qps是最高的,Adonisjs墊底。

Github Star

Nodejs Web框架Github Star

Github Star量一定程度可以反應(yīng)出框架的受歡迎程度,我們可以看到,Express 星星最多,畢竟是老牌框架,thinkjs墊底。

NPM 每周下載量

Nodejs Web框架每周下載量

npm每周下載量可以真實(shí)反應(yīng)框架目前的受歡迎程度,我們看到Express已經(jīng)是獨(dú)領(lǐng)風(fēng)騷,其實(shí)里面還有基于Express做底層的Web框架的量。thinkjs的表現(xiàn)是非常差,只有367的量。

評(píng)測(cè)

個(gè)人觀點(diǎn),僅供參考

  • Express

Node界最老牌的Web框架,最成熟,生態(tài)最好。提供了基礎(chǔ)的請(qǐng)求上下文封裝,路由,中間件,模板引擎接口,靜態(tài)資源服務(wù)。麻雀雖小,五臟俱全。很方便的進(jìn)行擴(kuò)展,大量的基于Express的框架。

  • Koa

Express原班人馬打造,定義為下一代Web開(kāi)發(fā)框架。僅提供一個(gè)請(qǐng)求上下文,中間件機(jī)制,沒(méi)有捆綁任何中間件。通過(guò)利用async/await,讓你寫(xiě)出更優(yōu)雅的代碼。方便開(kāi)發(fā)者針對(duì)自身需求開(kāi)發(fā)自定義框架。

  • Hapi

hapi是由沃爾瑪實(shí)驗(yàn)室的移動(dòng)團(tuán)隊(duì)創(chuàng)建的,Hapi 是一個(gè)用來(lái)構(gòu)建基于 Node.js 的應(yīng)用和服務(wù)的富框架,使得開(kāi)發(fā)者把重點(diǎn)放在便攜可重用的應(yīng)用邏輯而不是構(gòu)建架構(gòu)。內(nèi)建輸入驗(yàn)證、緩存、認(rèn)證和其他 Web 應(yīng)用開(kāi)發(fā)常用的功能。沒(méi)有中間件,但提供了強(qiáng)大的插件機(jī)制。

  • restify

專注于REST api開(kāi)發(fā)。提供了handle的鏈?zhǔn)秸{(diào)用及插件機(jī)制。

  • Fastify

Fastify號(hào)稱是最快的Nodejs web框架,在Json輸出的場(chǎng)景下,通過(guò)Json Schema序列化為Json數(shù)據(jù),可以達(dá)到原生JSON.stringify 2倍的性能,在極端情況下可達(dá)到10倍速。采用對(duì)象池,將請(qǐng)求上下文包裝對(duì)象進(jìn)行復(fù)用。使用trie樹(shù)存儲(chǔ)路由,查找效率更高(在大量有路由的情況下)。Fastify提供了強(qiáng)大的插件機(jī)制,通過(guò)插件可以分割路由及中間件。

  • egg

eggjs是由阿里推出的一款web企業(yè)級(jí)框架,提供了完整的Web開(kāi)發(fā)所需的組件,使用koa作為底層。使用了約定大于配置的理念,提供強(qiáng)大的插件機(jī)制,方便擴(kuò)展。

  • thinkjs

thiinkjs是由360推出的,基于koa開(kāi)發(fā),借鑒了ThinkPHP的一些理念,降低了開(kāi)發(fā)者的使用難度,使用了類是很多php框架的默認(rèn)路由,使用了繼承和鉤子方法來(lái)重用邏輯。

  • SailsJs

Sailsjs可以算最早開(kāi)始做集成度很高的框架,底層基于express,Nodejs上的Rails。

  • NestJs

NestJs的主要賣點(diǎn)是TypeScript的完全支持。大量的使用裝飾器,代碼看起來(lái)清爽多了。orm采用TypeORM,使用類型加裝飾器,代碼比一般的orm整潔得多。

  • AdonisJs

AdonisJs是Nodejs上的Laravel。


本文名稱:Node.js主流Web框架對(duì)比
轉(zhuǎn)載來(lái)源:http://m.5511xx.com/article/djphich.html