【Rust日报】2025年了,大家都用哪些crates

科技   2024-12-14 23:25   四川  

2025年了,大家都用哪些crates

这是作者的一些常用crates列表:

根据文件内容,这里是作者提到的 Rust crates 列表及其用途:

Connectivity

  • tokio: 异步运行时,支持 HTTP 和其他协议。
  • axum: 用于构建 HTTP(S) 服务器,支持路由、状态共享等。
  • tower-http: HTTP 中间件,例如认证和请求验证。
  • reqwest: HTTP 客户端,支持 rustls。
  • warp: 用于构建轻量级 HTTP 服务器。
  • prosttonic: 用于 protobuf 和 gRPC。
  • lapin: RabbitMQ 客户端。

Serialization & Data

  • serdeserde_json: 序列化和 JSON 处理。
  • bincode: 二进制序列化,用于高效存储。
  • humantime-serde: 支持人类可读的时间格式序列化。

Error Handling

  • thiserror: 用于库的错误处理。
  • anyhow: 用于应用的错误处理。

Testing

  • rstest: 参数化测试和 fixtures。
  • criterion: 性能基准测试工具。

Utilities

  • rustc-hashsha1_smol: 非加密的高效哈希。
  • tikv-jemallocator: 用于优化内存分配。
  • uuid: 支持 UUID 生成和解析。
  • chrono: 时间和日期处理。
  • derivative: 自定义派生的 trait 实现。
  • image: 图像处理。

CLI

  • arghclap: CLI 解析。

Logging, Tracing and Metrics

  • tracing: 结构化日志和跟踪。
  • prometheus: 用于监控指标。

SQL & ORMs

  • sea-ormsea-query: ORM 和查询构建工具。
  • sqlx: 异步数据库操作。

Vectors, Arrays, ML

  • ndarraynalgebra: 数组和线性代数。
  • 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

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章