rust-unofficial/awesome-rust · 上手攻略
- 仓库:rust-unofficial/awesome-rust
- 链接:https://github.com/rust-unofficial/awesome-rust
- 分类:学习资源 · Rust 生态
- 作者:Tom
- 更新:2026-07-14
这是什么
rust-unofficial/awesome-rust 是 Rust 生态中最老牌、最全面的资源聚合列表,由社区维护,GitHub 星标数超过 5.8 万。它不是一个代码库,而是一张 Rust 世界的地图——收录了 Rust 语言相关的应用程序、库、开发工具、学习资源,覆盖从入门到生产级项目的全链路。
该列表按照「应用程序 → 开发工具 → 库 → 资源 → 注册中心」四大板块组织,每个板块下细分为数十个子类目(如区块链、游戏开发、GUI、异步编程、机器学习等),总计收录数百个优质项目,是 Rust 开发者日常查阅和探索的第一参考。
解决什么问题
| 痛点 | awesome-rust 的解法 |
|---|---|
| 想学 Rust,不知道从哪里入手 | Resources 板块汇集了教程、书籍、课程、博客等系统学习路径 |
| 不知道 Rust 生态里有什么成熟工具 | Applications 板块按领域分类,列出了生产可用的项目(如 Alacritty、Deno、Arti) |
| 做某个具体方向(如图形渲染),不知道用什么库 | Libraries 板块按技术方向细分,每个条目附 crates.io 链接和简短说明 |
| 想找对标其他语言生态的工具(如 Python 的 numpy) | 列表中的对标说明可快速定位 Rust 替代方案 |
| 不知道某个库是否还在维护、质量如何 | 列表经过社区审核,项目多为活跃或知名项目,有 GitHub 链接可自查 |
列表结构一览
整个列表分为四大板块:
1. Applications(应用程序)
已用 Rust 编写并公开可用的生产级项目,按领域分类:
| 子类目 | 代表项目 |
|---|---|
| Audio and Music | — |
| Blockchain | — |
| Database | DBX(支持 MySQL/PostgreSQL/SQLite/Redis/MongoDB/DuckDB 的 Tauri 客户端) |
| Embedded | — |
| Emulators | — |
| Finance | — |
| Games | — |
| Graphics | — |
| Image processing | — |
| MLOps | — |
| Observability | — |
| Operating systems | — |
| Security tools | Arti(Tor 客户端实现)、boringtun(Cloudflare WireGuard) |
| System tools | alacritty(GPU 终端)、glazewm(Windows tiling 窗口管理器) |
| Text editors | — |
| Text processing | — |
| Virtualization | — |
| Web | denoland/deno(JS/TS 运行时) |
| Web Servers | — |
注:实际列表内容丰富,此处仅列举部分代表性条目,完整列表请直接访问 GitHub。
2. Development tools(开发工具)
| 子类目 | 说明 |
|---|---|
| Build system | Cargo 生态构建工具 |
| Debugging | GDB/LLDB 集成、rtrace 等 |
| FFI | 与 C/其他语言互操作 |
| Formatters | rustfmt、rust-analyzer 相关 |
| IDEs | VS Code 插件、IDEA 插件等 |
| Profiling | perf 集成、cargo-flamegraph 等 |
| Static analysis | clippy(官方 lint 工具)、miri 等 |
| Testing | cargo test、proptest、criterion 等 |
| Transpiling | rusc、wasm-bindgen 等 |
| Tunnel | 内网穿透工具 |
3. Libraries(库)
这是列表最庞大的部分,涵盖几乎所有技术方向的核心库:
| 子类目 | 代表库/生态 |
|---|---|
| Artificial Intelligence | tangram、rust-bert(NLP)、 candle(HuggingFace 风格 ML)、Oxlint(?) |
| Asynchronous | tokio(异步运行时)、async-std、smol |
| Audio and Music | rodio、 kira |
| CLI | clap、structopt、indicatif、 console |
| Compression | flate2、zstd、lz4 |
| Cryptography | ring、aes-gcm、ed25519-dalek、rand |
| Database | sqlx、diesel、rusqlite、sea-orm |
| Game development | bevy(游戏引擎)、ggez、macroquad |
| GUI | egui、iced、relm、GTK-rs |
| Image processing | image、kamadak-exif |
| Network programming | reqwest、hyper、actix-web |
| Parsing | pest、nom、tree-sitter(语法解析) |
| Web programming | axum、actix-web、poem、leptos |
| Encoding | serde(序列化)、bincode、cbor |
| GUI(平台) | flutter-rs(Rust Flutter 绑定) |
4. Resources(学习资源)
- 官方文档、Rust by Example、Rustlings
- 书籍(《The Rust Programming Language》、 《Programming Rust》)
- 博客、课程、视频
- Playground 和 REPL(推荐汉化版 rust-book)
- 社区列表和 RustBridge 活动
如何高效使用
awesome-rust 是一个导航性质的列表,不是需要从头到尾阅读的书籍。建议按需查阅:
方式一:从问题出发
遇到具体需求(如"需要做图像处理")→ 在 Libraries 目录找到 Image processing → 逐条查看 README 和 crates.io 数据 → 选型。
方式二:从生态概览出发
新接触 Rust → 先浏览 Applications 了解生态成熟度 → 再看 Resources 的入门路径 → 最后看 Libraries 建立技术地图。
方式三:结合 crates.io 一起用
awesome-rust 给出的是方向性推荐,crates.io 可以搜索具体的 crate 排名、下载量和维护状态,两者结合做选型决策。
典型使用场景
场景一:技术选型调研
你想为新项目选一个 HTTP 客户端库。打开 awesome-rust → Libraries → Network programming,找到 reqwest,点击链接进入 crates.io 看下载量和维护记录,比在搜索引擎里大海捞针高效得多。
场景二:了解 Rust 生态边界
作为 Java/Go 开发者想了解 Rust 能否替代,浏览 Applications 板块看看哪些知名项目已经用 Rust 重写(如 Deno、Cloudflare 的产品),对自己做技术判断很有帮助。
场景三:找学习路径
Rust 初学者在 Resources 板块找到 rustlings(交互式练习题)和 《The Rust Programming Language》官方书,按部就班学习效率最高。
场景四:找特定领域的库
需要做机器学习相关的数据处理?Libraries → Artificial Intelligence → Machine learning 可快速定位 rust-bert、candle、dfdx 等库,避免重复造轮子。
坑与注意
-
awesome-list 天然存在维护滞后问题:awesome-rust 虽然社区活跃,但列表中部分项目可能已停止维护。建议点进项目主页查看最近 commit 时间和发布版本再正式采用。
-
同领域库很多,选择困难:如 Web 框架就有 actix-web、axum、poem、rocket、leptos 等多个选项,各有侧重。actix-web 性能最强但上手曲线陡;axum 轻量且与 Tower/Tokio 生态贴合;leptos 全栈同构。需根据项目规模和技术栈偏好选择。
-
不是所有子类目都有内容:部分细分领域(如某些特定方向)可能为空或内容很少,不代表 Rust 在这些方向没有生态,需要进一步用 crates.io 搜索。
-
不提供库的详细对比:列表只收录和分类,不做横向评测。依赖库选择时需要自行对比 README、benchmark 和社区反馈。
-
中文资源有限:awesome-rust 主要是英文内容,中文学习者可搭配 rustforce.net、知乎 Rust 话题和 Rust 语言中文社区补充。
与同类对比
| 列表 | 规模 | 特点 | 适合人群 |
|---|---|---|---|
| awesome-rust(本列表) | ~58k stars,400+ 项目 | 最全、应用/库/工具全覆盖 | 各类 Rust 开发者 |
| lib.rs | crates.io 生态索引 | 按 crate 维度展示排名和分类 | 做技术选型时精确搜索 |
| Rust Wiki | 文档型 | 概念解释和最佳实践 | 深入理解语言设计 |
| This Week in Rust | 周报型 | 每周生态动态、新 crate、博客 | 跟进最新发展 |
| awesome-rust-search | 工具型 | 对 awesome-rust 内容做全文搜索 | 快速定位 |
awesome-rust 是所有这些资源中覆盖面最广、分类最系统的,适合作为了解 Rust 全貌的起点。
一句话推荐结论
rust-unofficial/awesome-rust 是 Rust 开发者必备的生态地图,无论你是刚接触 Rust 还是资深用户需要做技术选型,它都是最值得收藏和定期翻阅的 Rust 资源入口。