Rust后端框架+docker的选择与技术调研
star数量趋势
2023 年可以关注的 Rust Web 框架(后端) - 知乎 (zhihu.com)
框架 | 适合规模 | 性能 | 代码写法 | 社区活跃 | 是否含前端模板 | socket | 文档 |
---|---|---|---|---|---|---|---|
actix-web | 中到大型 | 非常出色 | 简洁 | 非常好 | 否 | 是 | 优秀 |
axum | 中到大型 | 良好 | 现代化 | 较好 | 否 | 是 | 良好 |
warp | 小到中型 | 非常出色 | 函数式 | 一般 | 否 | 是 | 不足 |
rocket | 小到中型 | 良好 | 易用 | 一般 | 是 | 是 | 一般 |
最开始用的是warp,但发现这个代码的简洁程度好像没有其他的好。
接下来的首选肯定是actix-web。但一上来就给我整了个报错。
试了一下axum倒是没有那么不顺利。
https://crates.io/crates/axum
https://docs.rs/axum/latest/axum/
需要写再toml里的东西:
1 | # json 序列化 |
axum在2024年3月14日已经0.7了,问chatGPT3.5他还会按照0.4的来回答你。这个axum在API方面的变动还是有的。
axum库的代码示例
1 | use axum::{ |
🐳 🦀rust+docker
接下来是选择一个连接并操作Docker的rust第三方库:
库 | github star量 | issuee | pr | 开发者 | 文档完善 | 开源协议 |
---|---|---|---|---|---|---|
bollard | 693 | 28 | 4 | 73 | Apache-2.0 license | |
shiplift | 610 | 47 | 15 | 61 | MIT license | |
dockworker | 56 | 23 | 3 | 31 | – |
信息来自2024年3月14日的数据。
光看名字以为dockworker是最官方的,结果github上star量才56
所以接下来就是对比前两个库的过程
从github CodeFrequency 来看,bollard库明显好,最近还在更新,shiplift从2022年开始就没怎么更新过了。
bollard库的依赖更多,有4页,shiplift 只有两页。
现在看来,选择bollard已经没有什么悬念了。