日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

2019年,你需要关注这些Node API和Web框架

發(fā)布時(shí)間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2019年,你需要关注这些Node API和Web框架 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

對(duì)于Node.js框架和開(kāi)源軟件來(lái)說(shuō),2018年是非常有趣的一年。開(kāi)發(fā)者社區(qū)討論了企業(yè)贊助對(duì)開(kāi)源項(xiàng)目的作用以及如何維護(hù)那些沒(méi)有經(jīng)濟(jì)支持卻有數(shù)百萬(wàn)人使用的項(xiàng)目。同樣,安全問(wèn)題也得到了極大關(guān)注,一些流行的Node/JS軟件包被劫持,Github為托管的項(xiàng)目推出了安全警報(bào)功能。

在這篇文章中,我們?yōu)镹ode.js框架增加了新的類別,如贊助情況、捐贈(zèng)情況和NPM審計(jì)漏洞,以便更好地了解每個(gè)框架如何解決這些問(wèn)題。框架按字母順序排列。

數(shù)據(jù)圖表

Github star數(shù)

在Github星標(biāo)數(shù)量方面,Sails、Koa和Express明顯高于其他框架。但是,在2019年,星標(biāo)總量可能不能作為最具相關(guān)性的指標(biāo),我們還需要考慮增長(zhǎng)情況。

2018年star數(shù)增長(zhǎng)

在2018年星標(biāo)數(shù)量增長(zhǎng)方面,Nest呈現(xiàn)出非常明顯的爆發(fā)式增長(zhǎng)。Y軸是從2018年1月初到2018年12月中旬的增長(zhǎng)百分比。有趣的是,相比之下,Sails和Express幾乎是扁平的,但這也可能是由于市場(chǎng)出現(xiàn)了飽和:有興趣給Node.js框架加星標(biāo)的人總共就那么多。

依賴關(guān)系

從這個(gè)角度來(lái)看,Nest非常少,而Sails幾乎是Nest的四倍。

NPM每周下載量

Express讓所有競(jìng)爭(zhēng)對(duì)手的下載量相形見(jiàn)絀。只有Koa和Hapi在這張圖上出現(xiàn)了微小的彩色條紋。當(dāng)然,有些框架在內(nèi)部使用了Express,比如Sails和Nest。

選擇Node.js框架

每個(gè)框架都有自己的目標(biāo)、設(shè)計(jì)決策和特點(diǎn)。你應(yīng)該仔細(xì)考慮這些東西是否適合你的用例。

有時(shí)候可以這么想:

“我們需要一個(gè)完整的Web應(yīng)用程序,包括HTML模板、數(shù)據(jù)庫(kù)模型、身份驗(yàn)證、API集成、郵件列表,等等”。

在本文中,我們將這些標(biāo)記為全棧。一個(gè)完全不同的用例可以是:

“我們只需要一個(gè)后端API端點(diǎn),用于攝取JSON格式的IOT數(shù)據(jù)”。

我們將這些標(biāo)記為API。當(dāng)然,你的用例可能是介于兩者之間。在這種情況下,你需要一個(gè)框架,先從小規(guī)模開(kāi)始,然后通過(guò)加入插件或中間件增加其他復(fù)雜性和功能。我們將這些標(biāo)記為Minimal,因?yàn)檫@些框架的核心都很小,不過(guò)生態(tài)系統(tǒng)為它們提供了其他模塊。

AdonisJs

AdonisJS生態(tài)系統(tǒng)附帶了一組特定模塊,可以插入到核心框架中。這意味著,測(cè)試運(yùn)行器或模板引擎對(duì)于大多數(shù)用戶來(lái)說(shuō)可能是新的,不過(guò)你也可以使用其他運(yùn)行器或模板引擎。

AdonisJs于2016年啟動(dòng),目標(biāo)是成為一個(gè)全棧式框架:可以直接使用HTTP請(qǐng)求路由、模板、身份驗(yàn)證和數(shù)據(jù)庫(kù)ORM。

在社區(qū)中,人們通常將AdonisJs與PHP的Laravel進(jìn)行比較。

HTTPS://ADONISJS.COM/

Exepress

Node.JS API框架的祖先。它仍然是一個(gè)非常小的框架,為你提供了一個(gè)簡(jiǎn)單的API服務(wù)器,用戶通過(guò)眾多可用的中間件項(xiàng)目來(lái)添加額外功能。

因?yàn)檎加觅Y源少,Sails.js和Nest等框架使用Express作為基礎(chǔ)應(yīng)用程序?qū)?#xff0c;然后使用額外的功能對(duì)其進(jìn)行擴(kuò)展。

HTTP://EXPRESSJS.COM/

Fastify

Fastify是一個(gè)100%針對(duì)性能進(jìn)行優(yōu)化的API框架。受到Hapi和Express的啟發(fā),維護(hù)人員選擇專注于在開(kāi)發(fā)者體驗(yàn)和原始速度及性能之間實(shí)現(xiàn)平衡。

Fastify仍然是一個(gè)非常小的框架,但中間件架構(gòu)與Express和Restify中間件兼容,極大地?cái)U(kuò)展了可能的用例。

Fastify提供了實(shí)驗(yàn)性的HTTP 2.0支持,并支持TypeScript類型。

HTTPS://WWW.FASTIFY.IO/

Hapi

Hapi由沃爾瑪開(kāi)發(fā),旨在為他們的電子商務(wù)業(yè)務(wù)提供堅(jiān)實(shí)的基礎(chǔ)。現(xiàn)在作為開(kāi)源框架分拆出來(lái),與沃爾瑪已經(jīng)沒(méi)有關(guān)系。Hapi現(xiàn)在仍然很受歡迎。

Hapi提供了大量獨(dú)立但緊密集成的插件,提供了日志記錄、模板、緩存、錯(cuò)誤處理等功能。它的對(duì)象驗(yàn)證插件Joi(https://github.com/hapijs/joi)和框架本身一樣很受歡迎。

在社區(qū)中,Hapi因其API、健壯性和可靠性而備受贊譽(yù)。此外,Hapi沒(méi)有任何外部代碼依賴,因此其安全性更加可控。

Hapi 17.x使用ES6和ES7進(jìn)行了全面重寫(xiě)。

HTTPS://HAPIJS.COM/

Koa

Koa的開(kāi)發(fā)者與Express是同一波人,但它是以利用新的Javascript語(yǔ)言功能為目標(biāo),如async/await。Koa框架甚至比Express更小,基本安裝中不包含路由。

Koa是最早利用ES6和ES7功能的API框架之一。

Koa提供了一份第三方中間件列表,幾乎和Express的一樣長(zhǎng),盡管有很多中間件似乎已經(jīng)被遺棄或者沒(méi)有人進(jìn)行定期維護(hù)。

HTTPS://KOAJS.COM/

Nest

Nest于2017年嶄露頭角,并在2018年大受歡迎(至少?gòu)腉ithub的星標(biāo)數(shù)來(lái)看)。Nest與其他框架略有不同,因?yàn)樗腔赥ypeScript的,并使用了Express。Nest也可以使用“普通”JavaScript,但框架作者還是極力建議使用TypeScript。

Nest提供了一個(gè)內(nèi)置的GraphQL適配器,利用了流行的Apollo框架,盡管現(xiàn)在已經(jīng)有很多傳統(tǒng)的ORM和數(shù)據(jù)庫(kù)可用的解決方案,例如Mongoose(Mongo)或TypeORM(MySQL/Postgres)。

對(duì)于Nest來(lái)說(shuō),2018年是美好的一年,我們很期待2019年它將為我們帶來(lái)哪些東西。

HTTPS://NESTJS.COM/

RESTify

Restify的目標(biāo)是成為一個(gè)構(gòu)建RESTful API的框架,而其他框架傾向于解決API、靜態(tài)內(nèi)容和模板解析問(wèn)題。它已經(jīng)被用在NPM、Netflix、Joyent和Pinterest的生產(chǎn)環(huán)境中。

Restify的目標(biāo)在它的文檔和指南中可見(jiàn)一斑。它們很簡(jiǎn)單,而且直接了當(dāng)。可以使用插件API來(lái)構(gòu)建擴(kuò)展,不過(guò)第三方插件并不多。

可調(diào)試性是Restify的一個(gè)主要特點(diǎn),它支持自動(dòng)生成Dtrace探針,這是其他框架中不常見(jiàn)的功能。

HTTP://RESTIFY.COM/

Sails

Sails可以說(shuō)是第一個(gè)提供類似于Ruby on Rails“全棧式”體驗(yàn)的Node.js Web框架。它提供了一個(gè)MVC框架和匹配的技術(shù)棧滿足大多數(shù)業(yè)務(wù)場(chǎng)景的需求。

你可以非常快速地搭建一個(gè)CRUD應(yīng)用程序,因?yàn)榇a即配置原則以及框架為開(kāi)發(fā)人員選擇的默認(rèn)設(shè)置。與Rails類似,Sails也提供了腳手架生成器,可以基于對(duì)象/實(shí)體創(chuàng)建API端點(diǎn)。Sails還提供了自己的Waterline ORM,支持多種數(shù)據(jù)庫(kù)類型,如Postgres、MongoDB和Redis。

該框架最初由Balderdashy公司開(kāi)發(fā),現(xiàn)在這家公司已更名“Sails公司”,為Sails提供企業(yè)支持。

HTTPS://SAILSJS.COM/

Server.js

Server.js始于2017年,在2018年一直保持穩(wěn)健的增長(zhǎng)。作為一個(gè)新框架,Server.js使用了現(xiàn)代ES2016和ES2017語(yǔ)言功能。它提供的組件包括:文件服務(wù)、Websocket、CSRF、SSL,等等。默認(rèn)情況下,甚至可以將會(huì)話保存在Redis中。

因?yàn)镾erver.js也基于Express的,因此你也可以使用Express中間件來(lái)擴(kuò)展其功能。

除了有一個(gè)很棒的NPM軟件包名之外,Server.js看起來(lái)也非常有前途,雖然它很輕量,但卻是一個(gè)全棧式API和Web框架。

HTTPS://SERVERJS.IO/

英文原文:

https://checklyhq.com/blog/2018/12/node.js-api-and-web-frameworks-for-2019/

更多內(nèi)容,請(qǐng)關(guān)注前端之巔。

會(huì)議推薦

2019年6月,GMTC全球大前端技術(shù)大會(huì)2019即將到來(lái)。小程序、Flutter、移動(dòng)AI、工程化、性能優(yōu)化…大前端的下一站在哪里?點(diǎn)擊下圖了解更多詳情。

總結(jié)

以上是生活随笔為你收集整理的2019年,你需要关注这些Node API和Web框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。