Rust Learning Resources
List of Resources to learn Rust - Roadmap From Beginner to Advanced Level
a curated collection of materials designed to assist learners at various stages of their journey with the Rust.
πΆLevel: Beginner
Free Books
- The Rust Programming Language : Start your Rust journey with the book. - Rust Development Classes: Best way to learn Rust is by doing; The book is a collection of examples and exercises. - The Rust Programming Language: Experimental Edition : An experimental branch of the book that supports interactive features like quizzes. It also provides extended explanations of fundamental concepts such as ownership and async. - Rust By Example : Learn Rust with examples (Live code editor included) - Free Rust course developed by the Android team at Google: The course is used internally at Google when teaching Rust to experienced software engineers. They typically have a background in C++ or Java. The course covers all aspects of Rust, from basic syntax to generics and error handling. It also includes deep dives on Android, Chromium, bare-metal, and concurrency. - Yet Another Rust Resource (YARR!) : Software engineers who know how to program in a high-level language but aren't familiar with lower-level programming and want to learn to write Rust quickly - The Rust Book (Abridged) : condensed version of "The Rust Programming Language". If you're already familiar with one or more other programming languages, then you are likely already familiar with a lot of the concepts the book covers, and you might benefit from this shorter version. - Idiomatic Rust Snippets : Simplified Rust code samples on language fundemantals, design patterns and algorithms.Exercises
- Rustlings : Small exercises to get you used to reading and writing Rust code! - 100 Exercises to Learn Rust: A self-paced course to learn Rust, one exercise at a time. - 5 Rust Project Ideas For Absolutely Beginner Devs : 5 simple yet practical projects that will help you later in bigger projects - Solve Advent of Code 2022 with Rust: a series of programming challenges of increasing difficulty - Rustfinity : Learn Rust by practice, from beginner-level exercises to advanced challengesVideos
- Let's Get Rusty : Video series that go through the Rust lang book chapter by chapter - Idiomatic Rust in Simple Steps (IRISS) : Step-by-step guide to learning Rust no programming knowledge required - Learn Rust Programming - Complete Course π¦ - By FreeCodeCamp - Rust Crash Course Tutorial : This playlist is designed to guide you from the very basics of Rust to its most advanced features. - Rust 101 Crash Course: Learn Rust (6 HOURS!) + 19 Practice Exercises : You'll learn Rust from scratch and get to practice your new Rust programming skills with 19 practice exercises! - Introduction to the series | Rust for Beginners : You'll learn Rust from scratch by the team from Microsoft Developer!π₯·Level: Intermediate
π Web Backend Development with Rust
- Rust Axum Full Course : Full Course for Axum: An Awesome Web Framework for Rust. Not too low-level, not too high-level, well-componentized, complete, and with great ergonomics. - Build A Full Stack Chatbot in Rust (feat. Leptos & Rustformers) : A walkthrough of building a ChatGPT clone using Rust on the frontend and the backend. Quick introduction to the Leptos framework, Rustformers/llm, and open source language models.Other Resources
- Introduction to "Safe and Secure Coding in Rust: A Comparative Analysis of Rust and C/C++"Other Project based tutorials
- Solving distributed systems challenges in Rust : In this stream we work through the fly.io distributed systems challenges (https://fly.io/dist-sys/) in Rust, and solve all the way up to challenge 3c. - Learning to Fly series : A beginner-friendly Rust tutorial combining evolution, neural network and genetic algorithm - Create Vim like Editor in Rust: Create a TUI application using crossterm - impl Rust playlist : Different project based tutorials by Jon Gjengset including creating Git from scratch in Rust, BitTorrent client in Rust, Wordle solver in Rust- hecto: Build Your Own Text Editor in Rust : This is a series of blog posts that shows you how to build a text editor in Rust.
- Game development with Macroquad: A game development guide on how to build a shoot'em up game in Rust with Macroquad. - Breakout game with Macroquad: An easy to follow along video that teaches how to create Breakout game with Macroquad
Free Books
- The Little Book of Rust Macros : This book is an attempt to distill the Rust community's collective knowledge of Rust macros, the Macros by Example ones as well as procedural macros(WIP).Rust in Depth
- Decrusted Series by Jon Gjengset - Crust of Rust Series by Jon Gjengsetπ§Level: Advanced
Free Books
- Rust Atomics and Locks : Provides an excellent overview of low-level concurrency - Writing an OS in Rust : Blog series creates a small operating system in the Rust - Game development with Fyrox : Fyrox, general purpose game engine that is suitable for any kind of games - Build a Lua Interpreter in Rust : This series of articles introduces the implementation of a Lua interpreter from scratch in the Rust language
Tutorials
- Operating System development tutorials in Rust on the Raspberry Pi - Implementing TCP in Rust (part 1) - Writing A Wasm Runtime In Rust - Building a DNS server in Rust: A guide to writing a DNS Server from scratch in Rust - Build your own SQLite: Building SQLite-compatible database from scratch - Building a search engine from scratch, in Rust: creating a client-side search engine that works seamlessly across platformsLinux Development
- Linux Kernel Rust Development Environment - Linux Kernel Rust Modules - Reading from my webcam on linux with v4l2 and rust
Level: None
This section contains resources that might contain from beginner to advanced concepts.Blog Posts
- Shuttle Blog Posts: Teaches different topics (might contain from beginner to advanced level concepts) - Log Rocket Posts - Rust - Implementing SHA-1 - Rust - Base64 encoding and decoding - Rust - Implementing WebSocketsReverse Engineering
- Rust Binary analysis, Feature By Feature - Reverse Engineering Rustlang Binaries - A SeriesCurated List
- Embedded Rust : curated list of resources related to embedded and low-level programmingRust Language Cheat Sheet
- Rust Language Cheat Sheet: A single-page Rust resource for people who like high information density - SpeedSheet for Rust: This is an interactive Rust cheat sheet. Covers the core Rust programming language. Use the search to get instant answers.