2025年了,大家都用哪些crates
这是作者的一些常用crates列表:
根据文件内容,这里是作者提到的 Rust crates 列表及其用途:
Connectivity
- tokio: 异步运行时,支持 HTTP 和其他协议。
- axum: 用于构建 HTTP(S) 服务器,支持路由、状态共享等。
- tower-http: HTTP 中间件,例如认证和请求验证。
- reqwest: HTTP 客户端,支持 rustls。
- warp: 用于构建轻量级 HTTP 服务器。
- prost 和 tonic: 用于 protobuf 和 gRPC。
- lapin: RabbitMQ 客户端。
Serialization & Data
- serde 和 serde_json: 序列化和 JSON 处理。
- bincode: 二进制序列化,用于高效存储。
- humantime-serde: 支持人类可读的时间格式序列化。
Error Handling
- thiserror: 用于库的错误处理。
- anyhow: 用于应用的错误处理。
Testing
- rstest: 参数化测试和 fixtures。
- criterion: 性能基准测试工具。
Utilities
- rustc-hash 和 sha1_smol: 非加密的高效哈希。
- tikv-jemallocator: 用于优化内存分配。
- uuid: 支持 UUID 生成和解析。
- chrono: 时间和日期处理。
- derivative: 自定义派生的 trait 实现。
- image: 图像处理。
CLI
- argh 和 clap: CLI 解析。
Logging, Tracing and Metrics
- tracing: 结构化日志和跟踪。
- prometheus: 用于监控指标。
SQL & ORMs
- sea-orm 和 sea-query: ORM 和查询构建工具。
- sqlx: 异步数据库操作。
Vectors, Arrays, ML
- ndarray 和 nalgebra: 数组和线性代数。
- half: 支持 f16 类型。
- approx: 浮点数近似比较。
- ort: ONNX 运行时,用于机器学习推理。
Deprecated or Alternative Crates
- lazy_static: 已被 LazyLock 取代。
- once_cell: 可使用标准库中的 OnceLock。
- async-trait: 在某些情况下仍需使用,但已逐渐被 async 函数支持替代。
https://ohadravid.github.io/posts/2024-12-state-of-the-crates/
--
From 日报小组 Mike
社区学习交流平台订阅:
1
共 2 条评论, 1 页
评论区
写评论找到问题所在了,原来包裹在自定义宏里面的😓
--
👇
AmosRyan: 今天看bevy源代码,里面出现了bevy:::LogPlugin这样的用法,请出注意那里是三个":",有人见过么,我去rust-lang搜索也没找到三个":"的说明呢?
今天看bevy源代码,里面出现了bevy:::LogPlugin这样的用法,请出注意那里是三个":",有人见过么,我去rust-lang搜索也没找到三个":"的说明呢?