本文发表于入职啦(公众号: ruzhila) 大家可以访问入职啦学习更多的编程实战。
部分内容可能无法直接访问,如果有需要可以加我们的群交流 我们会定期在群里分享最新的项目实战代码,包括不同语言的实现
老师还会详细讲解代码优化的思路,扫码加入实战群:

官方(Official)
入门
资源 | 难易程度 | 是否官方 |
---|---|---|
Rust by Example — 可运行示例,逐步讲解 Rust 概念 | 入门 | 是 |
Rustlings — 小练习,帮助熟悉读写 Rust 代码 | 入门 | 是 |
The Rust Programming Language — 官方“Rust 之书” | 入门 | 是 |
中级
资源 | 难易程度 | 是否官方 |
---|---|---|
The Cargo Book — 包管理器 Cargo 指南 | 中级 | 是 |
The Edition Guide — 语言版本(Edition)指南 | 中级 | 是 |
The rustc Book — Rust 编译器使用与概览 | 中级 | 是 |
The rustdoc Book — 文档生成工具 rustdoc 指南 | 中级 | 是 |
The rustup Book — Rust 工具链安装与管理 | 中级 | 是 |
Clippy Documentation — 代码静态检查工具 Clippy 文档 | 中级 | 是 |
Criterion.rs — 统计驱动的微基准测试 | 中级 | 是 |
mdBook — 使用 Markdown 写书的构建工具 | 中级 | 是 |
Rust API Guidelines — API 设计与呈现规范 | 中级 | 是 |
The bindgen User Guide — 生成 C/C++ FFI 绑定的工具指南 | 中级 | 是 |
高级
资源 | 难易程度 | 是否官方 |
---|---|---|
Guide to Rustc Development — 编译器内部实现指南 | 高级 | 是 |
Rust Forge — Rust 团队内部文档 | 高级 | 是 |
The Rust Reference — 语言参考(权威语义说明) | 高级 | 是 |
The Rust Unstable Book — 仅 nightly 可用的不稳定特性 | 高级 | 是 |
The Rustonomicon — unsafe Rust“黑魔法”指南 | 高级 | 是 |
Unsafe Code Guidelines Reference — unsafe 代码实践规范 | 高级 | 是 |
Asynchronous Programming in Rust — Rust 异步编程(async/await) | 高级 | 是 |
cargo-bisect-rustc — 自动下载/二分 rustc 工件以定位回归 | 高级 | 是 |
Error Codes Index — 编译器错误码索引 | 高级 | 是 |
Polonius — 实验性借用检查器 | 高级 | 是 |
Rust RFCs — Rust 改动的 RFC 列表 | 高级 | 是 |
The Chalk Book — 新一代 trait 系统实现 | 高级 | 是 |
工作组与专项(多为高级)
资源 | 难易程度 | 是否官方 |
---|---|---|
Compiler team working groups — 编译器团队工作组列表 | 高级 | 是 |
Const Generics Project Group — 常量泛型专项 | 高级 | 是 |
Rust Project Goals — Rust 项目目标追踪 | 高级 | 是 |
Standard library developers Guide — 标准库开发者指南 | 高级 | 是 |
The Rust Language Design Team — 语言设计团队相关信息 | 高级 | 是 |
The Types Team — trait 实现改进 | 高级 | 是 |
wg-async — async I/O 基础设施 | 高级 | 是 |
async fn fundamentals initiative — async fn 基础专项 | 高级 | 是 |
Dyn upcast initiative — dyn 向上转型/强制转换专项 | 高级 | 是 |
Generic Associated Types Initiative — GATs 专项 | 高级 | 是 |
Impl trait initiative — impl Trait 专项 | 高级 | 是 |
非官方(Unofficial)
入门
资源 | 难易程度 | 是否官方 |
---|---|---|
100 Exercises to Learn Rust — 100 个练习循序渐进学 Rust | 入门 | 否 |
A Gentle Introduction To Rust — 温和的入门教程 | 入门 | 否 |
A half-hour to learn Rust — 半小时速览 | 入门 | 否 |
Comprehensive Rust — 多日课程,系统学习 | 入门 | 否 |
Easy Rust — 面向非英语母语者的入门 | 入门 | 否 |
Learning Rust — 资源索引合集 | 入门 | 否 |
py2rs — 从 Python 过渡到 Rust | 入门 | 否 |
r4cppp — 面向 C++ 程序员的速成 | 入门 | 否 |
Rust By Practice — 通过挑战、练习与项目实践学习 | 入门 | 否 |
Rust Cookbook — 常见任务示例集 | 入门 | 否 |
Rust for C++ Programmers — 给 C++ 程序员的 Rust | 入门 | 否 |
Rust for Clojurists — 给 Clojure 开发者的 Rust | 入门 | 否 |
Rust for Node Developers — 给 Node 开发者的 Rust | 入门 | 否 |
Rust for the Polyglot Programmer — 多语言程序员的 Rust | 入门 | 否 |
Rust 101 — Rust 学习指南 | 入门 | 否 |
Small Rust Tutorial For MLOps — 面向 MLOps 的小教程 | 入门 | 否 |
The Node Experiment: Exploring Async Basics with Rust — 通过示例理解异步基础(存档) | 入门 | 否 |
Tokio Tutorial — 事件驱动、非阻塞 I/O 框架入门 | 入门 | 否 |
Rust and WebAssembly — Rust 与 WebAssembly 入门 | 入门 | 否 |
The wasm-pack Guide — wasm 项目打包工具指南 | 入门 | 否 |
WASM It — WebAssembly 入门实践 | 入门 | 否 |
The Little Book of Rust Books — Rust 书籍导航小册 | 入门 | 否 |
Rust Tutorials — Rust 教程索引 | 入门 | 否 |
Usability of Programming Languages — 比较 Rust/Python/Crystal 的基础用法 | 入门 | 否 |
中级
高级
资源 | 难易程度 | 是否官方 |
---|---|---|
Dyner — 实验性的 trait(dyn)对象探索 | 高级 | 否 |
Learn Rust the Dangerous Way — 用“危险方式”学习,更贴近底层 | 高级 | 否 |
Rustic Symmetries — 高级主题合集 | 高级 | 否 |
Rust Ownership, the Hard Way — 困难模式下的所有权 | 高级 | 否 |
Async programming in Rust with async-std — 使用 async-std 的异步编程 | 高级 | 否 |
Async Raft — Raft 共识协议的异步实现 | 高级 | 否 |
Learning Async Rust with Entirely Too Many Web Servers — 通过许多 Web 服务器学异步 | 高级 | 否 |
Salsa — 按需、可增量计算的框架 | 高级 | 否 |
Using Unsafe for Fun and Profit — 为乐趣与收益而用 unsafe(FFI 相关) | 高级 | 否 |
The Embedonomicon — 从零编写 no_std 应用 | 高级 | 否 |
Writing an OS in Rust — 用 Rust 编写操作系统 | 高级 | 否 |
注:Effective Rust 提示“部分概念尚不完整(截至 2022 年 3 月)”。
项目实战(Applications)
入门
资源 | 难易程度 | 是否官方 |
---|---|---|
Discovery — 使用 F3 Discovery 开发板学习 Rust | 入门 | 否 |
The Rust on ESP Book — 在 Espressif SoC/模块上使用 Rust | 入门 | 否 |
Amethyst Game Engine — Amethyst 游戏引擎教程 | 入门 | 否 |
BEVY The Book — Bevy 数据驱动游戏引擎 | 入门 | 否 |
Roguelike Tutorial - In Rust — Roguelike 游戏开发教程 | 入门 | 否 |
Rust sokoban — 推箱子小游戏实战 | 入门 | 否 |
GUI development with Rust and GTK 4 — 使用 GTK4 的 GUI 开发 | 入门 | 否 |
SixtyFPS Memory Game Tutorial (Rust) — 记忆小游戏(SixtyFPS/Slint 工具包) | 入门 | 否 |
Plotly.rs — 绘图库 Plotly.rs 入门 | 入门 | 否 |
Tealdeer User Manual — tldr 工具的 Rust 实现 | 入门 | 否 |
中级
资源 | 难易程度 | 是否官方 |
---|---|---|
An Introduction to Chip-8 Emulation using Rust — Chip-8 模拟器 PDF 教程 | 中级 | 否 |
A thoughtful introduction to the pest parser — pest 文本解析库 | 中级 | 否 |
Build a Lua Interpreter in Rust — 构建 Lua 解释器 | 中级 | 否 |
Cross-platform Rust Components — Firefox 集成的跨平台组件 | 中级 | 否 |
Create Your Own Programming Language with Rust — 自制编程语言 | 中级 | 否 |
delta — Git/diff/grep 的语法高亮分页器 | 中级 | 否 |
DMG-01: How to Emulate a Game Boy — Game Boy 模拟器教程 | 中级 | 否 |
Emergent AI — 智能体与事件 | 中级 | 否 |
Fyrox Cheat Book — Fyrox 通用游戏引擎 | 中级 | 否 |
The Specs Book — ECS 与 Specs 框架入门 | 中级 | 否 |
Writing NES Emulator in Rust — NES 模拟器 | 中级 | 否 |
Async-graphql Book — GraphQL 服务器端库 | 中级 | 否 |
Cynic - A GraphQL Client For Rust — GraphQL 客户端 | 中级 | 否 |
Juniper - GraphQL Server for Rust — GraphQL 服务器 | 中级 | 否 |
Druid — 原生 GUI 库 Druid | 中级 | 否 |
GUI development with Relm4 — 基于 GTK 的异步 GUI 框架 | 中级 | 否 |
intermezzOS OS — 教学型微内核操作系统 | 中级 | 否 |
nalgebra — 线性代数库 | 中级 | 否 |
OpenPGP Card — OpenPGP 卡片指南 | 中级 | 否 |
PNGme: An Intermediate Rust Project — PNG 隐写中级项目 | 中级 | 否 |
Rama Proxy — 模块化服务代理框架 | 中级 | 否 |
Scaphandre — 能耗监控代理 | 中级 | 否 |
SeaORM — 异步动态 ORM | 中级 | 否 |
Serde — 序列化/反序列化框架 | 中级 | 否 |
Stakker actor runtime guide — 轻量级单线程 actor 运行时 | 中级 | 否 |
The DNS Protocol — DNS 协议实践 | 中级 | 否 |
The Nom Guide (Nominomicon) — 解析组合子库 nom 指南 | 中级 | 否 |
The Zebra Book — 区块链实现文档(Zebra) | 中级 | 否 |
Anachro — 面向微控制器的网络协议与 PC 架构 | 中级 | 否 |
高级
资源 | 难易程度 | 是否官方 |
---|---|---|
Book of crosvm — 类型 2 虚拟机监视器 | 高级 | 否 |
Rust GPU Dev Guide — GPU 开发 | 高级 | 否 |
Prusti user guide — Rust 程序验证器 | 高级 | 否 |
The Redox Operating System — Redox OS | 高级 | 否 |
Thesus OS — Theseus OS 操作系统 | 高级 | 否 |
我们会定期在群里分享最新的项目实战代码,包括不同语言的实现
老师还会详细讲解代码优化的思路,扫码加入实战群:
