A complete, step-by-step Rust tutorial series. From your first program to building web APIs, CLI tools, and systems-level projects. Every article has working code you can copy and run.
No complicated theory. Just simple explanations and real code.
Introduction
| # | Tutorial | What You Will Learn |
|---|---|---|
| 1 | Why Learn Rust in 2026? (Coming Soon) | Why Rust matters, who uses it, what you can build |
Part 1: Foundations (Tutorials #2–#8)
Learn the building blocks of the Rust language.
| # | Tutorial | What You Will Learn |
|---|---|---|
| 2 | Installation and Your First Program (Coming Soon) | rustup, Cargo, VS Code setup, first program |
| 3 | Variables, Types, and Functions (Coming Soon) | let, mut, basic types, shadowing, functions |
| 4 | Ownership — The Key Concept (Coming Soon) | Move semantics, Copy trait, ownership rules |
| 5 | Borrowing and References (Coming Soon) | Immutable/mutable references, borrowing rules |
| 6 | Structs and Methods (Coming Soon) | Defining structs, methods, associated functions |
| 7 | Enums and Pattern Matching (Coming Soon) | Enum variants, match, Option, if let |
| 8 | Error Handling (Coming Soon) | Result, ?, panic, custom error types |
Part 2: Intermediate (Tutorials #9–#18)
Build stronger programs with Rust’s type system, concurrency, and project organization.
| # | Tutorial | What You Will Learn |
|---|---|---|
| 9 | Traits — Shared Behavior (Coming Soon) | Defining traits, impl, trait bounds, derive |
| 10 | Generics (Coming Soon) | Generic functions, structs, trait bounds, monomorphization |
| 11 | Lifetimes (Coming Soon) | Lifetime annotations, elision rules, structs with lifetimes |
| 12 | Closures and Iterators (Coming Soon) | Closure syntax, Fn traits, iterator adapters, collect |
| 13 | Smart Pointers (Coming Soon) | Box, Rc, Arc, RefCell, when to use each |
| 14 | Concurrency — Threads, Channels, and Message Passing (Coming Soon) | std::thread, mpsc channels, Mutex, Arc |
| 15 | Async/Await and Tokio (Coming Soon) | async fn, .await, Tokio runtime, join!, select!, spawning tasks |
| 16 | Collections — HashMap, BTreeMap, VecDeque (Coming Soon) | Entry API, BTreeMap ranges, HashSet, VecDeque, BinaryHeap |
| 17 | Modules and Crates (Coming Soon) | mod, pub, use, file-based modules, re-exports, workspaces |
| 18 | Testing in Rust (Coming Soon) | Unit tests, integration tests, doc tests, assertions, test organization |
Part 3: Web and APIs (Tutorials #19–#23)
Build web services and work with data.
| # | Tutorial | What You Will Learn |
|---|---|---|
| 19 | Advanced Error Handling (thiserror, anyhow) (Coming Soon) | thiserror, anyhow, context, error chains, production patterns |
| 20 | Serde and JSON (Coming Soon) | JSON, TOML, custom serialization, derive macros |
| 21 | HTTP with Reqwest (Coming Soon) | GET/POST requests, headers, JSON, error handling |
| 22 | Web API with Axum (Coming Soon) | Routing, handlers, extractors, shared state, CORS |
| 23 | Database with SQLx (Coming Soon) | SQLite, queries, transactions, connection pools |
Part 4: Tools and Systems (Tutorials #24–#26)
Build tools and work with advanced patterns.
| # | Tutorial | What You Will Learn |
|---|---|---|
| 24 | CLI Tools with Clap (Coming Soon) | Argument parsing, subcommands, flags, validation |
| 25 | File I/O and Path Handling (Coming Soon) | Reading/writing files, paths, directory traversal |
| 26 | Macros (Coming Soon) | Declarative macros, macro_rules!, common patterns |
Part 5: Advanced Topics (Tutorials #27–#30)
Cutting-edge Rust applications and low-level programming.
| # | Tutorial | What You Will Learn |
|---|---|---|
| 27 | Unsafe Rust (Coming Soon) | Raw pointers, unsafe blocks, FFI, safe abstractions |
| 28 | Embedded Rust (Coming Soon) | no_std, embedded-hal, GPIO, state machines, Embassy |
| 29 | Rust for AI/ML (Coming Soon) | Matrix ops, DataFrames, neural networks, Polars, Burn |
| 30 | WebAssembly with Rust (Coming Soon) | wasm-pack, wasm-bindgen, Leptos, running Rust in the browser |
Who is This For?
- Beginners who want to learn Rust from scratch
- Web developers exploring systems programming
- Backend developers looking for a fast, safe language
- Anyone who learns better by building real things instead of reading documentation
How to Use This Series
Start from Tutorial #1 and go in order. Each tutorial builds on the previous one. If you already know ownership and borrowing, jump to Part 2 (Tutorial #9) for intermediate patterns.
Need a quick reference? Check the Rust Cheat Sheet (Coming Soon).
Source Code
All code from this series is on GitHub: kemalcodes/rust-tutorial