2022年選擇哪個Rust Web框架 - kerkour

banq發表於2022-02-24

2022年可選擇的三個Rust Web框架:actix-webwarpaxum

  • 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 服務時,您需要共享一些變數,例如資料庫連線池或一些用於外部服務的客戶端。所有框架的人機工程學都非常相似。

相關文章