Curated collection of lists of useful resources to learn Rust together.
List of forums and chats you may find here. I encourage you to seek for help if you struggle to solve a problem. Rust community is very friendly!
- Tags legend
- General-purpose official resources
- ⭐ General-purpose courses
- Advanced
- Additional
- WebAssembly
- Embedded
- Interactive courses on Rust with feedback
- Cheat sheets
- Algorithmic problems and solutions in Rust
- Domain-specific topics
- Setup
- Cross-compile
- Size of binaries
- Memory
- Asynchronous
- Ownership semantics
- Projects catalogue
- Newspapers
- Other lists on Rust
- ( general ) -- general-purpose material
- ( specific ) -- domain-specific material
- ( official ) -- official Rust material
- ( non-eng ) -- non-english language
- ( course ) -- consists of series of text/video articles trying to give to a reader solid foundation
- ( book ) -- a book
- ( reference ) -- a reference
- ( article ) -- either single article or single video-tutorial
- ( not-finished ) -- not finished, too little to learn
- ( interactive ) -- it is possible to interact and get feedback from the system
- ( reading ) -- material to read
- ( video ) -- material to watch
- ( audio ) -- material to listen
- ( list ) -- list of resources
- ( newspaper ) -- regularly updating list of articles
- ( project ) -- project
- ( algo ) -- algorithmic problems and solutions
- ( toy ) -- educatuinal toy projects
- ( introductory ) -- introductory level
- ( advanced ) -- advanced level
- ( about:setup ) -- how to install rust and stup your development environment
- ( about:cross_compile ) -- how to build from one platform to another one
- ( about:mem ) -- about memory management in Rust, the difference between heap, stack, code segments, etc
- ( about:bin_size ) -- about size of target application
- ( about:async ) -- about asynchronous programming
- ( about:ownership_semantics ) -- about owning/borrowing/lifetimes
- ( about:closure ) -- about closures
- ( about:self_ref ) -- about self-referential structures
- ( about:webasm ) -- about WebAssembly
- ( about:web ) -- web development
- ( about:graphics ) -- graphics
( general ) ( official ) ( course )
- The Rust Programming Language ( reading )
- Язык программирования Rust ( reading ) ( non-eng )
- Rust by Example ( reading )
- Rust на примерах ( reading ) ( non-eng )
- Rust cookbook( reading )
- Rust. Сборник рецептов ( reading ) ( non-eng )
- The Rust Programming Reference ( reading ) ( reference )
- Codebase Reference ( reading ) ( reference )
( general ) ( course )
- ⭐ Intro to Rust by Tensor Programming ( video )
- Rust Tutorial by Doug Milford ( video )
- The Rust Lang Book by Let's Get Rusty ( video )
- Rust Programming Tutorial by dcode ( video )
- Easy Rust by mithradates ( video )
- Easy Rust by David MacLeod ( reading )
- Программирование на Rust by Computer Science Center ( video ) ( non-eng )
- A Gentle Introduction to Rust ( reading )
- Rust by Tutorials Point ( reading )
- Rust by RIP Tutorial ( reading )
- Take your first steps with Rust by Microsoft Learn ( reading ) ( interactive )
( course ) ( advanced )
- ⭐ Crust of Rust by Jon Gjengset ( video ) ( general )
( course ) ( advanced )
- The Cargo Book ( reading )
- Asynchronous Programming in Rust ( reading ) ( official ) ( about:async )
- Асинхронное программирование на Rust ( reading ) ( official ) ( about:async ) ( non-eng )
- Unsafe Code Guidelines Reference ( reading ) ( official )
- The Rustonomicon - nonsafe programming ( reading ) ( official )
- The Rust Performance Book ( reading )
- Compile-Time Reflection in Rust by Asbjørn Gaarde ( reading )
- The Little Book of Rust Macros ( reading )
- Guide to Rustc Development ( reading )
- API Guidelines ( reading )
( course ) ( about:webasm )
- ⭐ Rust and WebAssembly ( reading )
- The wasm-bindgen Guide ( reading )
- The Embedded Rust Book ( course ) ( reading )
( interactive )
- Rust playground ( official )
- Rust explaine
- Rustlings
- Tour of Rust
- Rust by Exercism
- Rust Language Cheat Sheet by Ralf Biedert
- Memoty Layout by Raph Levien
- Cheat Sheet by don bright : basics
( algo )
( toy )
- Making our own executable packer by Amos ( reading ) ( course ) ( about:memory )
- Build a language VM by Fletcher Haynes ( reading ) ( course )
- Building a runtime reflection system for Rust by OSO
- Writing a Programming Language by Seán Kelleher ( video ) ( course )
- Web development with rust by Genus-v Programming ( video ) ( course )
- Yew Crash Course by Jeff No Zhao ( video ) ( article )
- Safety in Systems Programming from Stanford University by Ryan Eberhardt and Julio Ballista ( reading ) ( course )
- Comp Sci Rust Programming Course from University of Pennsylvania's ( reading ) ( course )
- Refactoring to Rust by Lily Mara 📘 ( book ) ( reading ) ( advanced ) :
( about:setup )
- Install Rust ( official )
- Rustup book ( official ) ( reading ) ( course )
- How to install debugger on Windows by Doug Milford ( video ) ( article )
- How to install debugger on Linux by DevbaseMedia ( video ) ( article )
( about:cross_compile ) ( specific )
- rust-cross by Jorge Aparicio ( reading ) ( article )
- Cross-Compiling Rust from macOS To Linux by Omar Khawaja ( reading ) ( article )
- Cross compiling Rust from Linux to macOS by James Waples ( reading ) ( article )
- Cross compiling Windows binaries from Linux by Jake Shadle ( reading ) ( article )
( about:bin_size )
- How to optimize size of binary executable by johnthagen ( reading ) ( article )
- How to optimize size of binary executable ( reading ) ( article )
- How to optimize size of WebAssembly binary executable ( reading ) ( article )
- Optimize Rust binaries size with cargo and Semver by Paul Delafosse ( reading ) ( article )
- Shrinking .wasm Code Size by Rust and WebAssembly ( reading ) ( article )
( about:mem )
- Refactoring to Rust by Lily Mara ( reading ) ( article )
- Strings in Rust by Erik Zivkovic ( reading ) ( article )
- Making our own executable packer by Amos ( reading ) ( course ) ( about:memory )
( about:async )
- Async: What is blocking? by Alice Ryhl ( reading ) ( article ) ( introductory )
- Asynchronous Programming in Rust ( reading ) ( official ) ( general ) ( course ) ( advanced )
- Асинхронное программирование на Rust ( reading ) ( official ) ( general ) ( course ) ( advanced ) ( non-eng )
- Pin and suffering ( reading ) ( advanced ) by Amos
( about:ownership_semantics )
- Deref vs AsRef vs Borrow vs Cow by Alex
- Understanding lifetimes in Rust by Thomas Heartman ( reading ) ( article )
( about:closure )
- Finding Closure by Huon Wilson ( reading ) ( article )
- Understanding Closures by Andrew Pritchard ( reading ) ( article )
( about:self_ref )
( about:web )
- Validating JSON input by Evaldas Buinauskas ( reading ) ( article )
( about:graphics )
- Learn Wgpu by sotrh : good introduction into wgpu ( reading ) ( course )
- WebGL water tutorial by Chinedu Francis Nwafili
- Unofficial Bevy Cheat Book by Ida Iyes
- Bevy Assets by Carter Anderson : collection of Bevy assets, plugins, learning resources, and apps
( list ) ( project )
- Are we game yet? : gamedev
- Are we web yet? : web
- Are we GUI yet? : user interfaces
- Are we learning yet? : machine learning
- Lib.rs
- A curated list of Rust code and resources by E. Dunham
( list ) ( newspaper )
- Read Rust
- This Week in Rust
- Rust GameDev Working Group
- Rust and WebAssembly
- The Rustacean Station Podcast ( audio )
( list )
- List of resources to learn Rust by Camille TJHOA
- List of resources to learn Rust by hackr.io
- Rust Anthology by Brian Anderson
- Rust Books 📘 by Spiros Gerokostas ( book )
- Awesome Rust and Webassembly by rustwasm
- List of chats and forums 💬 by us
- Distros written on Rust 🔧 by us
- Game Developer's Toolbox 🎮 by us
- ⭐ Toolbox 🔧 by us