2022年可選擇的三個Rust Web框架:actix-web、warp和axum。
- actix-web:4.0.0-rc.35,134,720Actix Web 是一個功能強大、實用且速度極快的 Rust Web 框架
- warp:0.3.24,114,095以翹曲的速度服務于網絡
- axum:專注于人體工程學和模塊化的 Web 框架(由 tokio 團隊提供)
比較:
- axum有最干凈的 API,它建立在hyper之上,它(當然)是 Rust 中經過測試最可靠的 HTTP 堆棧,并且因為它是由 tokio 團隊開發的。但它的年輕可能會讓一些人感到不舒服。
- 對于較大的項目,我認為這actix-web是無可爭議的贏家。這就是為什么它是我選擇Bloom的原因。
- 對于較小的項目(最多 50 條路由)warp,盡管它有原始的 API,但它非常好,因為它也是建立在其之上的hyper,因此受益于它的可靠性和性能。
詳細比較:
- JSON反序列化:所有框架都使用泛型來提供簡單的 JSON 反序列化。話雖如此,我發現兩者都axum可以actix-web更直接地與他們的助手一起使用來自動提取類型化的正文有效負載。
- 路由:axum是明顯的贏家,緊隨其后的是actix-web,然后是warp有利于組合的功能性 API,這與我們通常對 Web 框架的期望相去甚遠。
- 中間件:warp, 毫無疑問...
- 狀態:在構建 Web 服務時,您需要共享一些變量,例如數據庫連接池或一些用于外部服務的客戶端。所有框架的人機工程學都非常相似