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 服务时,您需要共享一些变量,例如数据库连接池或一些用于外部服务的客户端。所有框架的人机工程学都非常相似