HTTP/1.1 & 2.0、WS、gRPC、AWS Lambda
Iris 是一個(gè)高效且設(shè)計(jì)良好的跨平臺(tái) Web 框架,具有強(qiáng)大的功能集。構(gòu)建您自己的高性能 Web 應(yīng)用程序和 API,由無(wú)限的潛力和可移植性提供支持。
如果你來(lái)自 Node.js,這是 Go 編程語(yǔ)言的 expressjs 等價(jià)物。
由 Iris 提供支持的 Web 應(yīng)用程序也可以部署服務(wù)器 - 它在AWS和Netlify上運(yùn)行。
類似 Sinatra 的 API。如果你使用過(guò) expressjs,你會(huì)覺(jué)得 Iris 像家一樣。
Iris 的執(zhí)行速度比任何其他 HTTP/2 框架都快,包括著名的Gin
Iris 建立在標(biāo)準(zhǔn) http 包之上。它與所有現(xiàn)有的中間件完全兼容。
Iris 支持動(dòng)態(tài)路徑參數(shù)和內(nèi)聯(lián)函數(shù)。當(dāng)您在注冊(cè)其他動(dòng)態(tài)或靜態(tài)路由的相同路徑模式中注冊(cè)通配符時(shí),它不會(huì)中斷。
打印信息、調(diào)試堆棧跟蹤或?qū)⒎?wù)器的請(qǐng)求記錄為 JSON,Iris Logger 為您提供支持。
Iris Sessions 為您提供使用現(xiàn)代 http 會(huì)話的最佳體驗(yàn)。您可以在一個(gè)或多個(gè) Redis 集群上運(yùn)行任意數(shù)量的 Iris Web 服務(wù)器。
webscoket 服務(wù)器快速、易于使用且功能齊全。它支持 NATS 和 Redis 后端以實(shí)現(xiàn)可擴(kuò)展性和高性能。
Go 開(kāi)發(fā)人員確實(shí)缺少真正的 MVC 支持。Net Core 和微軟在將這些概念提供給生產(chǎn)方面做得非常出色。Iris 也為 Go 開(kāi)發(fā)人員做同樣的事情,而沒(méi)有 .NET 團(tuán)隊(duì)不得不為此犧牲的性能成本。Iris MVC 和依賴注入功能非常強(qiáng)大,為您提供比 Java EE 和 .NET Core 目前提供的更多功能和自由:將服務(wù)、模型、請(qǐng)求數(shù)據(jù)、持久性數(shù)據(jù)、子控制器綁定到控制器的字段及其方法中。劫持每個(gè)控制器或每組控制器的響應(yīng)、請(qǐng)求、錯(cuò)誤處理。
您是否曾經(jīng)在將您的應(yīng)用程序或其中的一部分從 HTTP 轉(zhuǎn)換為 gGRPC 時(shí)遇到困難,或者您是否曾希望您的 gRPC 服務(wù)有良好的 HTTP 支持?現(xiàn)在,有了 Iris,您將擁有兩全其美。使用一行代碼將任何 gRPC 服務(wù)公開(kāi)給 Iris HTTP 控制器。
使用 Iris,您將永遠(yuǎn)不會(huì)發(fā)現(xiàn)自己在尋找第三方庫(kù)來(lái)呈現(xiàn)或讀取任何類型的數(shù)據(jù)。Iris Context 支持所有主要格式:文本、HTML、Markdown、XML、YAML、二進(jìn)制、JSON、JSONP、問(wèn)題、協(xié)議緩沖區(qū)、消息包。流媒體或 SSE 也很容易。
更多建議: