【Rust日报】2024-12-08 2025年了,大家都用哪些crates
内容提要
2025年,作者列出了常用的Rust库,包括异步运行时tokio、HTTP服务器axum、序列化库serde和错误处理库thiserror,涵盖网络、序列化、测试和日志等领域。
关键要点
-
2025年,作者列出了常用的Rust库。
-
异步运行时tokio支持HTTP和其他协议。
-
axum用于构建HTTP(S)服务器,支持路由和状态共享。
-
tower-http提供HTTP中间件,例如认证和请求验证。
-
reqwest是支持rustls的HTTP客户端。
-
warp用于构建轻量级HTTP服务器。
-
prost和tonic用于protobuf和gRPC。
-
lapin是RabbitMQ客户端。
-
serde和serde_json用于序列化和JSON处理。
-
bincode用于高效的二进制序列化。
-
humantime-serde支持人类可读的时间格式序列化。
-
thiserror用于库的错误处理。
-
anyhow用于应用的错误处理。
-
rstest提供参数化测试和fixtures。
-
criterion是性能基准测试工具。
-
rustc-hash和sha1_smol是非加密的高效哈希。
-
tikv-jemallocator用于优化内存分配。
-
uuid支持UUID生成和解析。
-
chrono用于时间和日期处理。
-
derivative实现自定义派生的trait。
-
image用于图像处理。
-
argh和clap用于CLI解析。
-
tracing提供结构化日志和跟踪。
-
prometheus用于监控指标。
-
sea-orm和sea-query是ORM和查询构建工具。
-
sqlx支持异步数据库操作。
-
ndarray和nalgebra用于数组和线性代数。
-
half支持f16类型。
-
approx用于浮点数近似比较。
-
ort是用于机器学习推理的ONNX运行时。
-
lazy_static已被LazyLock取代。
-
once_cell可使用标准库中的OnceLock。
-
async-trait逐渐被async函数支持替代。
延伸问答
2025年常用的Rust库有哪些?
常用的Rust库包括tokio、axum、serde、thiserror等。
tokio库的主要功能是什么?
tokio是一个异步运行时,支持HTTP和其他协议。
如何使用axum构建HTTP服务器?
axum用于构建HTTP(S)服务器,支持路由和状态共享。
serde库在Rust中有什么作用?
serde用于序列化和JSON处理。
有哪些库可以用于错误处理?
用于错误处理的库包括thiserror和anyhow。
Rust中有哪些库支持机器学习?
ort是用于机器学习推理的ONNX运行时。