Mozilla Rust
The official team provides an extensive and high-quality eBook and technical documentation, which is enough for us to read directly.Moreover, I guarantee you won’t finish it because they are continuously updated with newrust
versions, and occasionally there are new books on specific topics (for example, async programming
, macros
, cargo book
, rustc book
, etc.).I feel that if the official team hired an instructor, they could directly offer online courses or establish a school.
I personally recommend reading the original text directly because some knowledge points are really convoluted. I have read several translations, and the key points did not get
to the technical joints (some concepts really need to be “understood thoroughly” to be clearly explained in Chinese. And, “understanding” can only be realized personally). In short, if your English reading comprehension is not solid, I recommend learning it again through “epic-level” Chinese translations.
Finally, I recommend an incomplete reading list, from shallow to deep:
-
Basic Level
-
Rust Programming Language: https://doc.rust-lang.org/book/#the-rust-programming-language
-
Rust Reference: https://doc.rust-lang.org/reference/introduction.html#introduction
-
Getting started with Rust: https://sodocumentation.net/rust — Don’t start with this, it doesn’t elaborate on technical details and assumes we have enough background knowledge.
-
Advanced Level
-
Rust Macros: https://danielkeep.github.io/tlborm/book/index.html
-
Rust by Example: https://doc.rust-lang.org/stable/rust-by-example/index.html#rust-by-example — Highly recommended, but don’t start with this book. You need enough background knowledge for it to resonate.
-
Rust API Guidelines: https://rust-lang.github.io/api-guidelines/about.html#rust-api-guidelines
-
Asynchronous Programming
-
-
Futures Explained in 200 Lines of Rust: https://cfsamson.github.io/books-futures-explained/introduction.html#futures-explained-in-200-lines-of-rust
-
Asynchronous Programming in Rust: https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html
-
Async programming in Rust: https://book.async.rs/introduction.html — Although the examples in this book are based on
async-std
, it explains the interaction between asynchronous executors, reactors, andFuture
clearly. Here, I share a diagram summarizing insights I gained from this book: -
Tools
-
rustup book: https://rust-lang.github.io/rustup/index.html
-
The Cargo Book: https://doc.rust-lang.org/cargo/index.html#the-cargo-book
-
wasm
-
wasm-pack: https://rustwasm.github.io/docs/wasm-pack/introduction.htmlv
-
Rust 🦀 and WebAssembly 🕸: https://rustwasm.github.io/docs/book/#rust–and-webassembly-
-
GUI
-
Native Windows GUI: The Guide: https://gabdube.github.io/native-windows-gui/native-windows-docs/index.html
-
glade3 tutorial: http://blog.borovsak.si/2009/09/glade3-tutorial-1-introduction.html