这篇文章首要是总结下学 Rust的一些资料。

  • 更新日志
    2023/01/06 新增 mouse 姐姐新书《Rust Atomics and Locks: Low-Level Concurrency in Practice》和 STATE MACHINES。
    2022/12/28 新增Ray Tracing in One Week
    2022/12/27 新增LSM in a week
    2022/12/25 新增tfpk/macrokata
    2022/12/22 新增Comprehensive Rust
    2022/12/06 新增night-cruise/async-rust
    2022/11/28 新增《dyn async traits》系列中文版
    2022/11/28 新增Writing Interpreters in Rust: a GuideWebAssembly Compiler
    2022/11/15 新增北京大学编译原理课程在线文档,jondot/rust-how-do-i-start
    2022/11/13 新增Rust Game Series
    2022/10/17 新增smallnest/concurrency-programming-via-rust 《Rust 并发编程实战课》
    2022/09/26 新增Learn wgpu 中文版,Vulkan Tutorial(Rust)
    2022/08/24 新增Rust 源码剖析 中文版
    2022/08/24 新增Boshen/javascript-parser-in-rustWriting a container in Rust
    2022/07/05 新增Visualizing memory layout of Rust’s data types2022 年开源操作体系训练营

基础

  • The Rust Programming Language

    • 堪称 Rust 的 “The Book”,是现在最权威的 Rust 体系教程,入门必读,最近也更新到了 2021 版别。
    • 中文版 (常常更新)rustwiki 中文版
  • Rust by Example

    • 实例化的解说办法,经过一个个可实践运转的比如去介绍 Rust 的特性和用法,有的时分,代码是最好的教师。
    • 中文版
  • The Rust primer for beginners

    • 给初学者的 Rust 中文教程。
  • Rust 入门秘籍

    • 这是一本 Rust 的入门书本,比较官方书本《The Rust Programming Language》,本书要更具体、更具体系性,本书也尽量追求准确性。
  • Rust First Steps

    • 微软的 Rust 教程,简短精炼,适合初学者。
    • 官方中文
  • Rust Cookbook

    • Rust 程序规划言语(Rust 官方教程简体中文版)的简要实例示例调集:展现了在 Rust 生态体系中,运用各类 crate 来完成常见编程使命的良好实践。
    • 中文版
  • Rustlings

    • 官方出品,涵盖大量小练习,打怪通关学习 Rust。
    • Jetbrains IDE 能够直接下载课程,编辑器内写代码做练习。
  • Learning Rust With Entirely Too Many Linked Lists

    • 经过写双链表来学习 Rust
  • Read Rust – Getting Started

    • Read Rust是一个调集了有价值的 Rust 文章 / 博客的网站,其中Getting Started部分有各种 Rust 知识点相关的十分优异的文章。
  • Stanford CS 110L:Safety in Systems Programming

    • This class is focused on safety and robustness in systems programming. We will use the Rust programming language as a vehicle to teach mental models and paradigms that have been shown to be helpful in preventing errors, and we will look at how these features have made their way back into C++.
    • 2020 年课程的 B 站中文字幕版
    • 2021 年课程主页、2022 年课程主页
  • Rust 言语圣经 (Rust 教程 Rust Course)

    • rust-course国人写的 Rust 教程,对 Rust 言语进行全面且深入的解说,书中辅以生动的示例和习题。
  • Rust 官方文档中文教程

    • rust-lang-cn 安排翻译的官方文档,别的这个安排也翻译了许多 Rust 相关的书本。
  • Visualizing memory layout of Rust’s data types

    • 可视化了 Rust 的类型在内存中的布局,入门必看。
  • Rust 实践攻略

    • zzy/rust-guide《Rust 实践攻略》,聚集重要的主题,展现或许的解决方案。以开发中的实践问题为导向,以高雅的解决方案为目标,以完好的实例实践解决方案。
  • Comprehensive Rust

    • Google Android 团队的四天 Rust 教程。
  • Bilibili:软件工艺师

    • 微软 MVP,做了不少 C#、Go、Rust 的教程,其中 Rust 相关的有Rust 编程言语入门教程和Rust Web 全栈开发教程
  • Rust Language Cheat Sheet

  • quickref.me Rust cheatsheet

    • quickref.me是一个汇聚了大部分言语的语法索引页,其中也包含了 Rust, 能够协助咱们快速找到想用的语法。
  • rust-lang/api-guidelines

    • 中文版:Rust API 编写攻略这是一组关于怎么规划和呈现 Rust APIs 的主张。 这些主张首要由 Rust library 团队编写, 总结了 Rust 生态下构建规范库和其他 crates 的经历。
  • 《Programming Rust, 2nd Edition》简单的翻译

    • 第一版图灵社区有翻译:Rust 程序规划,第二版多了两章,能够考虑买第一版的电子版 pdf。
  • rustlang-cn/Rustt

    • RustCn 翻译方案,翻译一些 Rust 的技术文章。
  • suhanyujie/article-transfer-rs

    • 一些 Rust/Go 文章翻译

进阶

  • Rust Standard Library Reference

  • The Rust Reference

    • Rust 言语的 reference manual,你应该收藏好,以便于在对某个言语细节不清楚时在这里进行查阅。
    • 中文版
  • The unsafe Book

  • The Rustonomicon

    • Rust 死灵书首要讲 Rust 高级特性,怎么运用 unsafe Rust。
    • 中文版
  • The Little Book of Rust Macros

    • 关于 Rust 宏有具体的解说,里面的注释很全面。
    • 中文版
  • night-cruise/async-rust

    • 介绍 Rust 中 async/await 语法和异步运转时的原理和作业机制的电子书
  • 《dyn async traits》系列

    • Niko 是 Rust 言语诸多特性的规划者(比如 NLL)。这个系列首要探索在 trait 中支撑 async fn,因而首要聚集于思路收拾与原型规划。
    • 中文版
  • smallnest/concurrency-programming-via-rust 《Rust 并发编程实战课》

    • 《Go 并发编程实战课》的作者鸟窝体系收拾的 Rust 的并发编程的相关资料。首要是从入门入手,让咱们了解和了解这些并发原语,在作业中用起来。
  • 《Rust Atomics and Locks: Low-Level Concurrency in Practice》

    • mouse 姐姐出书的关于 Rust 并发的书,能够在她博客免费阅读,亚马逊也能够购买:Amazon。
  • Asynchronous Programming in Rust

    • 不是很新的中文版
  • A Guide to Porting C/C++ to Rust

  • The Rust FFI Omnibus

    • 运用 Rust 编写代码用到其他言语的示例调集.
    • 中文版
  • Jon Gjengset YouTube Channel(Crust of Rust Playlist)

  • Rust Design Patterns

    • 有许多问题具有一起的方法。因为事实上 Rust 并不完全是面向对象的,规划形式也与其他面向对象的编程言语不同。 细节不同的一起,因为他们有相同的方法,他们能够用相同的根本办法解决。
    • 中文版
  • The Rust Performance Book

    • 介绍许多优化 Rust 程序性能的工具、技巧、调试办法等方面的书。
  • Problem-solving with algorithms and data structures using Rust

    • 国人写的一本 Rust 书本,包括算法剖析,根本数据结构和算法,外加一些实战。
  • Rust 源码剖析 中文版

    • 国人写的一本 Rust 书本,针对 Rust 言语自身和开源库的代码进行剖析。
  • dtolnay/case-studies

    • dtolnay 是 anyhow, thiserror, cxx 等库的作者,这是他对一些 tricky Rust code 的剖析。
  • Bilibili:Databend

    • Databend 社区继续做了不少 Rust 的公开课。库房地址
  • Bilibili:爆米花胡了

    • 这个 up 主做了许多 Rust 进程宏的视频教程。
  • Bilibili:喜爱前史的程序君

    • 陈天在极客时刻开了门 Rust 的课,一起也在继续输出一些 Rust 视频教程。
  • KAIST CS431: Concurrent ProgrammingGithub repo

    • 本课程面向对并行核算机体系的现代理论和实践感爱好的核算机科学(或相关学科)的高年级本科生(或研究生)。
  • Rust for the Polyglot Programmer

    • 面临有经历的程序员的 Rust 攻略。
  • High Assurance Rust: Developing Secure and Robust Software

    • 本书介绍了怎么构建咱们能够合理信任 (justifiably trust) 的高性能软件。这意味着有足够的数据来支撑对咱们代码的功用和安全性的信心。可信性是高安全性 (high assurance) 软件的一个标志。
  • Warrenren/inside-rust-std-library

    • 本书首要对 Rust 的规范库代码进行剖析。依照内存相关,根本数据类型,ops Trait, Option 类型,Result 类型,Iterator,切片类型,智能指针类型等逐一进行源码剖析。

有潜力的教程

  • Rust 101 Lecture Series

    • 与伦敦帝国理工学院核算社会系协作的 Rust 系列讲座
    • Rust Lecture Series with Imperial College London’s Department of Computing Society
  • Effective Rust

练习实战的小项目

  • 知乎 – 学习 Rust 适合写什么练手项目?

  • Exercism.io

  • course-rs/tokio-course

    • 《Tokio 异步编程》翻译并扩展了 tokio 官网的教程, 深入叙述了怎么编写 Rust 高并发异步程序
  • Github: cfsamson

    • 这哥们喜爱用 Rust 完成一些小比如如:Futures、greenthreads、async、epoll 等。
  • STATE MACHINESPart1Part2Part3[2022.12]

    • 用 Rust 完成状态机
  • LSM in a week[2022.12]

    • Build a simple LSM-Tree storage engine in Rust.Github
  • tfpk/macrokata[2022.12]

    • MacroKata, a set of exercises which you can use to learn how to write macros in Rust.Github
  • Writing Interpreters in Rust: a Guide[2022.11]

    • 用 Rust 写解说器,库房
  • Boshen/javascript-parser-in-rust[2022.08]

    • A book on writing a JavaScript Parser in Rust
  • 2022 年开源操作体系训练营[2022.07]

    • 教程共分为八章,首要展现怎么从零开始,用 Rust 言语写一个根据 RISC-V 架构的类 Unix 内核。
  • 北京大学编译原理课程在线文档[2022.06]

    • 作者 MaxXSoft 是本科编译原理课程的助教。为了让本科生更好地理解编译器作业的原理,在参阅多个其他教程之后,他规划了一套全新的,教你从零开始写个编译器的教程。
    • Rust 完成知乎 – 课程介绍
  • Writing a container in Rust[2022.05]

    • 用 Rust 写容器。
  • Lisp interpreter in Rust[2022.05]

    • lisp-rs项目用 Rust 完成了一个解说器,用于 Scheme 的一个小子集,即 Lisp 方言。
  • Implementing a size-bounded LRU cache with expiring entries for my DNS server (in Rust)[2022.03]

    • 运用 Rust 完成一个有大小约束可过期的 LRU 缓存。
  • Implementing and Optimizing a Wordle Solver in Rust[2022.03]

    • Jon Gjengset 的六小时一镜究竟视频流教程,这次是完成一个 Wordle 求解器。
  • Writing a Programming Language (in Rust)[2022.02 updating]

  • Implementing the NTFS filesystem in Rust[2022.02]

  • Rust Latam: procedural macros workshop[2022.01 updating]

    • 实战学习写 Rust 进程宏。
  • Rust Runtime 规划与完成[2021.12]

    • 系列文章首要介绍怎么规划和完成一个根据 io-uring 的 Thread-per-core 模型的 Runtime。
  • Building a GUI app in RustBuilding a web app in Rust[2021.10]

    • 作者用 egui 库去完成了 newsapi 的客户端和网页端(WebAssembly)。
  • Rust 进程宏入门

  • (Risp (in (Rust) (Lisp)))[2021.07]

    • Rust 完成 Lisp 解说器
  • WebAssembly Compiler[2021.05]

    • Rust 完成 WebAssembly Parser, Compiler and Runtime.
  • Learning to Fly: Let’s simulate evolution in Rust! (pt 1)[2021.01]

    • 利用神经网络和遗传算法创建一个进化模仿,并编译应用程序到 WebAssembly
  • Ray Tracing in One Week[2020.12]

    • Ray Tracing in One Week 系列的 Rust 版别Github
  • Rust Game Series[2020.11]

    • 用 Rust 和 winapi 来用 D3D11 写三消游戏
  • Building a Pixel Editor in Rust & WebAssembly (and Javascript)[2020.08]

    • 作者用 Rust 和 WebAssembly 做了个网页端的粗陋版像素画板。
  • Writing NES Emulator in Rust[2020.08]

    • Rust 完成 NES 模仿器,不过最后一章到现在仍是 todo。
  • Building a DNS server in Rust[2020.06]

  • pingCAP/talent-plan[2020.05] Rust 网络编程

    • TP 201: Practical Networked Applications in Rust
    • TP 202: Distributed Systems in Rust
  • Writing an OS in Rust部分中文版[2020.05]

  • PNGme: An Intermediate Rust Project[2019.06]

  • Implementing TCP[2019.05]

    • 强烈引荐!Jon Gjengset 经过 Linux TUN/TAP 来完成 TCP 协议。三个视频加起来共 16 小时。
    • 这个 up 主视频风格共同,内容有深度,录像不编排,每集时刻巨长,优点便是能够了解一个完好项目的开发进程和解决问题的思路。
  • Learning Parser Combinators With Rust[2019.04]

  • Build Your Own Shell using Rust[2018.11]

  • So You Want to Build a Language VM[2018.07]

游戏开发相关

  • 有哪些值得引荐的 Rust 游戏引擎或图形渲染库?

  • Rust GameDev WG

  • Vulkan Tutorial(Rust)

    • 这老哥给自己的 Vulkan Rust 绑定vulkanalia参阅Vulkan Tutorial写的教程。
    • 咱们也能够用ash来参阅着写,两个 Vulkan binding crate 语法很像。
  • The Ray Tracer Challenge[2022.02 updating]

    • 这老哥用 Rust 从零写一个 Raytracer,并把 live coding 的进程也录制上传在系列视频链接
  • Vulkan with Rust by example

    • 又是用 Rust 和ashcrate 来写 Vulkan 的一系列博文。
  • Ashen Aetna[2022.01 updating]

    • 作者爱好使然用 Rust 和ashcrate 来学习图形学的教程。
    • ash是跨渠道图形接口 Vulkan 的 Rust 绑定。
  • Unofficial Bevy Cheat Book

    • Rust 游戏引擎 Bevy 的书。
    • 中文版:Bevy 游戏引擎开发攻略
  • Learn Wgpu

    • 中文版
    • Wgpu是WebGPU API规范的一个 Rust 完成。
    • WebGPU 是由 GPU for the Web Community Group 发布的一个规范。它的目的是答应网络代码以安全和可靠的方法拜访 GPU 功用。
    • 它经过模仿 Vulkan API,并将其转换为主机硬件运用的任何 API(DirectX、Metal、Vulkan)来完成。
    • 许多 Rust 游戏引擎都根据这一层图形 HAL。
  • Tutorial: Writing a Tiny Rust Game Engine for Web[2022.01]

  • Roguelike Tutorial in Rust + tcod[2020.04]

  • Adventures in Rust: A Basic 2D Game[2018.02]

其他范畴相关

  • The CLI Book
  • The WebAssembly Book
  • The Embedded Book
  • An Experimental Course on Operating Systems
  • Zero to Production in Rust (Building Backend Services)

Rust 动态

  • This week in Rust Newsletter

    • 每周更新一次,把最新的 Rust 资源推到你的邮箱,这是跟踪 Rust 最新技术与事情的好办法。
  • Discord

    • Official Rust Community Server
    • Official Rust Server
  • Telegram

    • Rust 众
  • 飞书

    • Rust 中文社群
  • The Rust Sub Reddit

  • Rust 言语开源杂志(2021)月刊

  • Rust 言语开源杂志(2022)季刊

各种汇总(Awesome 系列)

  • Awesome Rust [A curated list of Rust code and resources]

    • 针对 Rust 言语的 awesome lists,这里面汇集了各式各样的 Rust 库和资源,去参与或学习开源项目是当你入门后最好的进阶办法。
  • rust-learning

    • 一个由社区保护的关于学习 Rust 的资源的汇总。
  • EthanYuan/Rust-Study-Resource

    • 又是一个关于学习 Rust 的资源的汇总。
  • The Little Book of Rust Books

    • Rust 相关书本的汇总。
  • sger/RustBooks

    • Rust 相关书本的汇总。
  • sunface/fancy-rust

    • Rust 酷库引荐。运用咱们精心挑选的开源代码,让你的 Rust 项目 Fancy 起来!
  • EvanLi/Github-Ranking

    • Github 中 Rust 库星星排名的 Top 100,每日刷新。
  • 35 Rust Learning Resources Every Beginner Should Know in 2022

    • 一篇引荐新手资源的文章

Podcast

  • Rustacean Station Podcast

  • RustTalk

    • 主播:写代码的西瓜
    • Rust 言语中文社区是一个比较干货共享的地方,偏文字,RustTalk 更侧重 “湿货”,不仅仅会介绍到 Rust 的规划理念,更多的回去发掘 Rust 背后的奇人轶事。

博客

  • llever.com/

    • 包含许多 Rust 周报及相关博文的翻译,不过现在如同不更新了。
  • 芽之家

    • 相同是包含许多 Rust 周报及相关博文的翻译,相同如同不更新了

博客 RSS

名称 订阅链接
This Week in Rust this-week-in-rust.org/atom.xml
Read Rust readrust.net/all/feed.rs…
Rust Reddit Hot reddit.0qz.fun/r/rust/hot.…
Rust.cc rustcc.cn/rss
Awesome Rust Weekly rust.libhunt.com/newsletter/…
Rust 精选 rustmagazine.github.io/rust_magazi…
Rust on Medium medium.com/feed/tag/ru…
Rust GameDev WG gamedev.rs/rss.xml
知乎专栏 – 时光与精神小屋 rsshub.app/zhihu/zhuan…
酷熊 Amos fasterthanli fasterthanli.me/index.xml
pretzelhammer/rust-blog www.ncameron.org/blog/rss/
Nick Cameron github.com/pretzelhamm…
FOLYD folyd.com/blog/feed.x…
Alex Chi www.skyzh.dev/posts/index…

作为参阅的学习道路

各种办法入门

jondot/rust-how-do-i-start

道路 1

Rust Study RoadMap

作者在文中提供了两种学习道路。

道路 2

  1. 通读Rust by Example,把其中的比如都自己运转一遍,特别是对其中指出的错误用法也调试一遍。
  2. 通读The Rust Programming Language,在进行了第一步后,现已根本对 Rust 的常用概念有所了解了,这个时分再读这本官方教程,进一步理解某些细节。
  3. 行了,到这一步后你就能够测验做一个项目了,然后在做项目的进程中你一定会需求各式各样的库,请到Crates上搜索,寻觅适合你需求的 crate,了解它们的用法,必要时查阅它们的源码。一开始写实践代码时,你肯定会很痛苦,Rust 编译器一定会不断地折磨你,这个时分不要放弃,返回去再看Rust by Example和The Rust Programming Language,然后终有经过编译的那一刻,祝贺你,入坑了!

常用站点

  • Crates

    • Rust 类库
  • Docs.rs

    • Rust 类库文档
  • Are we game yet

    • 关于游戏开发
  • Are we web yet

    • 关于 Web 开发
  • Are we (I)DE yet

    • 关于 IDE
  • rust-library-i18n

    • Rust 中文文档,能够在 IDE 中运用

其他资料

  • The 10 books that helped me, as a hobbyist, on my journey to learn Rust to re-code a Django application

  • Rustnote

    • 某个网友的个人笔记

本文参阅

  • rust-lang-cn.org/article/23
  • letsgetrusty.kartra.com/page/XDk8
  • rustcc.cn/

文章作者:猫冬

文章链接:frankorz.com/2022/01/18/…