The Little Book of Rust Books
This book is a treasure-trove of Rust books:
- Official books maintained at rust-lang.org
- Unofficial books maintained elsewhere
- Application books on specific Rust applications
If you know of others, why not submit a pull request?
The titles of books not in mdbook format are italicised. For more books in other formats, see Rust Books.
Official Rust Books
The following books are maintained at rust-lang.org. Many of them are mentioned in Learn Rust.
Introductory:
- Rust by Example
- The Rust Programming Language - “the book”
Core:
Advanced:
- Guide to Rustc Development - compiler internals
- Rust Forge - Rust team documentation
- The Rust Reference
- The Rust Unstable Book - nightly-only features
- The Rustonomicon - the dark arts of unsafe Rust
Working groups:
- Compiler team working groups - a list of working groups
- types-team - traits implementation improvements
- wg-async - foundations of async I/O
Other:
- Asynchronous Programming in Rust
- mdBook
- Polonius - experimental borrow checker crate
- Rust API Guidelines
- Rust RFCs
- The Chalk Book - Rust’s new trait system implementation
- The
bindgen
User Guide
Unofficial Rust Books
The following books are maintained outside rust-lang.org.
Introductory:
- A Gentle Introduction To Rust
- A half-hour to learn Rust
- Comprehensive Rust 🦀 - a multi-day course developed by Google to teach Rust to Android engineers
Dyner
- experimental trait (dyn) objects in Rust- Easy Rust - aimed at non-English native speakers
- Effective Rust - Rust guidelines1
- Learn Rust the Dangerous Way
- Learning Rust With Entirely Too Many Linked Lists
- Rust By Practice - Practise Rust with challenging examples, exercises and projects
- Rust Cookbook - a collection of example programs
- Rust for C++ Programmers
- Rust for the Polyglot Programmer
- Rust Ownership, the Hard Way
Application domains:
- A thoughtful introduction to the pest parser
- Async
- Async programming in Rust with async-std
- Async Raft - the Raft distributed consensus protocol in async Rust
- The Node Experiment - Exploring Async Basics with Rust
- Tokio Tutorial - event-driven, non-blocking I/O
- Comparing parallel Rust and C++
- Command line
- Command Line Applications in Rust
- PNGme: An Intermediate Rust Project - build a command line program to hide secret messages in PNG files
- CXX — Safe Interop Between Rust and C++
- Embedded
- Embedded: The Missing Parts
- Embedded Rust on Espressif - training Material for learning to use Embedded Rust with the Espressif ESP32-C3.
- The Embedded Rust Book
- The Embedonomicon - build a
#![no_std]
application from scratch - The Rust on ESP Book - comprehensive guide on using the Rust programming language with Espressif SoCs and modules.
- Workbook for Embedded Workshops - an embedded Rust workshop
- Engineering Rust Web Applications
- Foreign Function Interface (FFI)
- The Rust FFI Omnibus
- The (unofficial) Rust FFI Guide - FFI in depth
- Futures Explained in 200 Lines of Rust
- GraphQL
- Async-graphql Book - GraphQL server-side library
- Cynic - A GraphQL Client For Rust
- Juniper - GraphQL Server for Rust
- Real-Time Interrupt-driven Concurrency
- Triangle From Scratch - draw a triangle using Win32, but no external crates
- Web assembly
- Writing an OS in Rust
- Writing Interpreters in Rust: a Guide
Other:
- Macros
- Advanced Macros
- MacroKata - a series of worked exercises to learn macros
- The Little Book of Rust Macros
- High Assurance Rust - developing secure and robust software
- Rust Design Patterns
- Rust Fuzz Book - fuzz testing
- Rust Performance
- Salsa - framework for on-demand, incrementalized computation
- Secure Rust Guidelines
- The Little Book of Rust Books
- The Rust Rand Book - Rust’s random number library
- Rust Tutorials
1
Some concepts are incomplete, as of March 2022.
Rust Application Books
Applications of Rust:
- An Introduction to Chip-8 Emulation using the Rust Programming Language - PDF book
- Book of crosvm - a hosted (a.k.a. type-2) virtual machine monitor
- Embedded
- Anachro - a network protocol and a PC architecture for microcontrollers
- Discovery - use an F3 Discovery circuit board and Rust
- The Rust on ESP Book
- Game development
- Amethyst Game Engine
- BEVY The Book - data-driven game engine
- DMG-01: How to Emulate a Game Boy
- Emergent AI - smart agents and events
- Fyrox Cheat Book - a general purpose game engine
- Roguelike Tutorial - In Rust - Roguelike game development
- The Specs Book - an introduction to Entity–component–system (ECS) and the Specs API
- Writing NES Emulator in Rust - NES is the Nintendo Entertainment System gaming platform
- GPU development
- GUI development
- Druid
- GUI development with Relm4
- GUI development with Rust and GTK 4
- SixtyFPS Memory Game Tutorial (Rust) - tutorial using the SixtyFPS GUI toolkit
- intermezzOS OS
- nalgebra - a linear algebra library
- Plotly.rs
- Prusti user guide - a Rust verifier
- SeaORM - an async and dynamic ORM
- Serde - serialize and deserialize Rust data structures
- Stakker actor runtime guide - a low-level single-thread actor runtime for Rust
- Tealdeer User Manual - implementation of tldr (help like
man
, but more approachable). - The Nom Guide (Nominomicon) - a parser combinator library
- The Redox Operating System
- Thesus OS
- The Zebra Book