O ecossistema de aprendizado do Rust cresceu enormemente nos últimos anos. De livros gratuitos oficiais a cursos pagos de alta qualidade, passando por exercícios interativos e certificações profissionais, há recursos para todos os níveis e estilos de aprendizado. Este guia organiza e compara os melhores recursos disponíveis para que você invista seu tempo e dinheiro da forma mais eficiente possível.
O Livro: The Rust Programming Language
Nenhum recurso sobre Rust está mais estabelecido do que o “The Rust Programming Language”, carinhosamente chamado de “The Book” pela comunidade. Escrito pelos criadores da linguagem e mantido atualizado a cada release, é o ponto de partida recomendado para todo mundo.
Onde acessar:
- Online (gratuito): doc.rust-lang.org/book/
- Versão interativa com exercícios: rust-book.cs.brown.edu
- Livro impresso (No Starch Press): edição atualizada disponível em inglês
O que cobre:
- Capítulos 1-3: Instalação, primeiros passos, conceitos básicos
- Capítulos 4-6: Ownership, structs, enums, pattern matching
- Capítulos 7-10: Módulos, coleções, tratamento de erros, generics, traits, lifetimes
- Capítulos 11-14: Testes, I/O, closures, iteradores, Cargo
- Capítulos 15-17: Smart pointers, concorrência, OOP em Rust
- Capítulos 18-20: Patterns, unsafe, projeto final (web server)
Para quem é indicado:
- Programadores com experiência em pelo menos uma linguagem
- Quem prefere aprender lendo e praticando
- Quem quer uma base sólida e completa
Pontos fortes:
- Gratuito e oficialmente mantido
- Progressão cuidadosa de conceitos
- Exemplos abundantes e bem explicados
- Sempre atualizado com a versão estável mais recente
Limitações:
- Assume conhecimento prévio de programação
- Não cobre tópicos avançados (async, macros procedurais)
- Pode ser denso para quem aprende melhor com vídeos
Exercícios Interativos
Rustlings
Rustlings é o complemento perfeito para o Rust Book. São exercícios pequenos e progressivos que rodam no terminal.
# Instalar Rustlings
curl -L https://raw.githubusercontent.com/rust-lang/rustlings/main/install.sh | bash
# Iniciar os exercícios
cd rustlings
rustlings watch # monitora mudanças e compila automaticamente
Estrutura dos exercícios:
| Seção | Exercícios | Conceitos |
|---|---|---|
| intro | 2 | Compilação, saída |
| variables | 6 | Variáveis, mutabilidade, shadowing |
| functions | 5 | Funções, parâmetros, retorno |
| if | 3 | Condicionais |
| primitive_types | 6 | Tipos primitivos, slices, tuplas |
| vecs | 2 | Vetores |
| move_semantics | 6 | Ownership e move |
| structs | 3 | Structs e métodos |
| enums | 3 | Enums e pattern matching |
| strings | 4 | String e &str |
| modules | 3 | Módulos e visibilidade |
| hashmaps | 3 | HashMap |
| options | 3 | Option |
| error_handling | 6 | Result, ?, tipos de erro |
| generics | 3 | Generics |
| traits | 5 | Traits e implementações |
| lifetimes | 3 | Lifetimes |
| tests | 4 | Testes unitários |
| iterators | 5 | Iteradores e closures |
| smart_pointers | 4 | Box, Rc, RefCell |
| threads | 3 | Threads e channels |
| conversions | 5 | From, Into, TryFrom |
Para quem é indicado:
- Iniciantes que acabaram de ler os primeiros capítulos do Book
- Quem aprende melhor fazendo
- Complemento ideal para qualquer curso
Exercism – Rust Track
O Exercism oferece exercícios de programação com mentoria humana gratuita. A trilha de Rust tem mais de 90 exercícios progressivos.
Como funciona:
- Cadastre-se em exercism.org
- Escolha a trilha Rust
- Resolva exercícios no seu editor local
- Submeta soluções via CLI
- (Opcional) Solicite mentoria de um voluntário
Exercícios destacados:
| Exercício | Conceito | Dificuldade |
|---|---|---|
| Hello World | Setup básico | Fácil |
| Reverse String | Strings e iteradores | Fácil |
| Clock | Structs, Display | Médio |
| Parallel Letter Frequency | Threads, HashMap | Médio |
| Robot Name | Randomização, static | Médio |
| Simple Linked List | Enums, Box, ownership | Difícil |
| React | Callbacks, closures, grafos | Difícil |
| Forth | Interpretador, enums | Difícil |
Diferencial: a mentoria humana. Um Rustacean experiente revisa seu código e sugere melhorias idiomáticas. Isso é extremamente valioso e completamente gratuito.
LeetCode em Rust
O LeetCode suporta Rust como linguagem para resolver problemas. Embora não seja focado em Rust especificamente, é excelente para praticar algoritmos e se preparar para entrevistas técnicas.
Dicas para usar LeetCode com Rust:
// Padrão comum: converter Vec<i32> para iterador
impl Solution {
pub fn two_sum(nums: Vec<i32>, target: i32) -> Vec<i32> {
use std::collections::HashMap;
let mut mapa: HashMap<i32, usize> = HashMap::new();
for (i, &num) in nums.iter().enumerate() {
let complemento = target - num;
if let Some(&j) = mapa.get(&complemento) {
return vec![j as i32, i as i32];
}
mapa.insert(num, i);
}
vec![]
}
}
Problemas recomendados para prática em Rust:
| Problema | Conceito Rust | Dificuldade |
|---|---|---|
| Two Sum | HashMap, iteradores | Easy |
| Valid Parentheses | Vec como stack, match | Easy |
| Merge Two Sorted Lists | Option, Box, pattern matching | Easy |
| LRU Cache | HashMap, VecDeque, ownership | Medium |
| Clone Graph | Rc, RefCell, HashMap | Medium |
| Serialize Binary Tree | Enum, recursão, String | Hard |
Cursos Online
Cursos Gratuitos
1. Rust by Example
- URL: doc.rust-lang.org/rust-by-example/
- Formato: Exemplos interativos no navegador
- Nível: Iniciante a intermediário
- Diferencial: aprenda pela prática, sem teoria extensa
- Ideal para: quem já programa e quer ver Rust em ação rapidamente
2. Tour of Rust
- URL: tourofrust.com
- Formato: Tutorial interativo passo a passo
- Nível: Iniciante
- Diferencial: visual e interativo, com playground embutido
- Disponível em português: Sim!
3. Comprehensive Rust (Google)
- URL: google.github.io/comprehensive-rust/
- Formato: Curso de 4 dias criado pela equipe Android do Google
- Nível: Intermediário (assume experiência com C++ ou similar)
- Diferencial: material de treinamento profissional usado internamente no Google
- Inclui: módulos especiais para Android, Chromium e bare-metal
4. Rust 101 (Segundo Canal)
- URL: Variadas plataformas YouTube
- Formato: Vídeo-aulas em português
- Nível: Iniciante
- Diferencial: conteúdo em PT-BR acessível
- Ideal para: quem tem dificuldade com inglês técnico
Cursos Pagos
1. Zero To Production In Rust (Luca Palmieri)
- Formato: Livro + código
- Preço: ~$50 USD (digital)
- Nível: Intermediário a avançado
- Foco: Construir uma aplicação web real de ponta a ponta
- Cobre: Axum/Actix-web, sqlx, testes, observabilidade, CI/CD, deploy
Este é possivelmente o melhor recurso para quem quer aprender Rust para backend web. Cada decisão é explicada e justificada. O resultado é uma aplicação de produção completa.
2. Rust in Motion (Manning)
- Formato: Vídeo-curso
- Preço: Assinatura Manning (~$40/mês)
- Nível: Iniciante a intermediário
- Diferencial: formato vídeo com instrutor experiente
3. Ultimate Rust Crash Course (Nathan Stocks, Udemy)
- Formato: Vídeo-curso + exercícios
- Preço: ~R$50-80 (em promoção na Udemy)
- Nível: Iniciante
- Diferencial: acessível, direto ao ponto
- Duração: ~7 horas de vídeo
4. Ultimate Rust 2: Intermediate Concepts (Nathan Stocks, Udemy)
- Formato: Vídeo-curso + exercícios
- Preço: ~R$50-80 (em promoção na Udemy)
- Nível: Intermediário
- Diferencial: continua onde o crash course parou
- Cobre: closures, iteradores, error handling avançado
5. Rust for Linux (Linux Foundation)
- Formato: Curso online + certificação
- Preço: Varia (curso + exame)
- Nível: Intermediário a avançado
- Foco: Rust para desenvolvimento de kernel Linux
- Diferencial: certificação reconhecida, foco em sistemas
Tabela Comparativa de Cursos
| Recurso | Preço | Formato | Nível | Duração | Nota* |
|---|---|---|---|---|---|
| The Book | Gratuito | Texto | Iniciante | 2-4 semanas | 9/10 |
| Rustlings | Gratuito | Exercícios | Iniciante | 1-2 semanas | 9/10 |
| Exercism | Gratuito | Exercícios+Mentoria | Todos | Contínuo | 9/10 |
| Rust by Example | Gratuito | Exemplos | Iniciante-Médio | 1-2 semanas | 8/10 |
| Comprehensive Rust | Gratuito | Texto (curso) | Médio | 4 dias | 8/10 |
| Zero To Production | ~$50 | Livro | Médio-Avançado | 4-8 semanas | 10/10 |
| Ultimate Rust (Udemy) | ~R$60 | Vídeo | Iniciante | 1 semana | 8/10 |
| Rust in Motion | Assinatura | Vídeo | Iniciante-Médio | 2 semanas | 7/10 |
| Crust of Rust (YT) | Gratuito | Vídeo | Avançado | Contínuo | 10/10 |
*Nota subjetiva baseada na qualidade e utilidade do conteúdo.
Certificações Relevantes
O Rust ainda não tem uma certificação oficial da linguagem como Java (OCA/OCP) ou AWS (Solutions Architect). Porém, existem certificações relacionadas que valorizam seu currículo.
Certificações com Componente Rust
1. Linux Foundation – Rust for Linux
A Linux Foundation começou a oferecer treinamento em Rust voltado para desenvolvimento de kernel. À medida que o suporte a Rust no kernel Linux cresce, esta certificação ganha relevância.
- O que cobre: Rust basics, integração com C no kernel, módulos Rust para Linux
- Para quem: desenvolvedores de sistemas, contribuidores de kernel
- Valor: alto para vagas em sistemas operacionais e infraestrutura
2. AWS Certified (com projetos em Rust)
Embora não seja específica de Rust, a certificação AWS combinada com projetos Rust demonstra capacidade de construir sistemas cloud-native performáticos.
- Recomendação: faça projetos usando AWS SDK for Rust (aws-sdk-rust)
- Crates relevantes:
aws-sdk-s3,aws-sdk-dynamodb,aws-sdk-lambda
3. Certificações de Segurança (com foco em Rust)
Para quem trabalha com segurança de software, demonstrar proficiência em Rust é um diferencial significativo.
Certificações Complementares Recomendadas
| Certificação | Área | Relevância para Rust |
|---|---|---|
| AWS Solutions Architect | Cloud | Alta (Rust para Lambda, infra) |
| CKA (Kubernetes) | Containers | Alta (tools em Rust: kubelet, etc.) |
| Linux Foundation LFCS | Linux | Alta (sistemas, kernel) |
| CKAD (Kubernetes Dev) | Cloud-native | Média (APIs em Rust) |
| CompTIA Security+ | Segurança | Média (Rust para security tools) |
Construindo Suas Próprias “Credenciais”
Na ausência de certificações oficiais de Rust, as melhores credenciais são:
- Projetos no GitHub: código real demonstra mais que qualquer certificado
- Contribuições open source: PRs aceitos em projetos reconhecidos
- Blog posts técnicos: mostram profundidade de conhecimento
- Talks e apresentações: vídeos publicados são verificáveis
- Perfil no crates.io: crates publicadas com downloads reais
Livros Essenciais
Para Iniciantes
Programming Rust (O’Reilly), 2a edição
- Autores: Jim Blandy, Jason Orendorff, Leonora Tindall
- Páginas: ~738
- Foco: cobertura ampla e profunda de toda a linguagem
- Diferencial: explicações mais detalhadas que o Rust Book, ótimas analogias
- Ideal para: quem quer entender profundamente cada conceito
- Nota: pode ser lido como complemento ao Rust Book
Rust in Action (Manning)
- Autor: Tim McNamara
- Páginas: ~456
- Foco: aprender Rust construindo projetos reais
- Projetos: CPU emulator, grep clone, sistema de arquivos, kernel simples
- Ideal para: quem aprende melhor fazendo projetos
- Diferencial: abordagem project-based muito motivadora
Para Intermediários
Rust for Rustaceans (No Starch Press)
- Autor: Jon Gjengset
- Páginas: ~282
- Foco: tópicos intermediários a avançados
- Cobre: memória, tipos, traits, APIs, unsafe, macros, async, testing
- Ideal para: quem já passou do básico e quer profundidade
- Diferencial: escrito por um dos mais respeitados educadores de Rust
Zero To Production In Rust
- Autor: Luca Palmieri
- Formato: livro digital (atualizado continuamente)
- Foco: construir um serviço web de produção completo
- Cobre: CI/CD, testes, logging, autenticação, deploy, monitoramento
- Ideal para: quem quer trabalhar com backend Rust
- Diferencial: o projeto mais completo e realista entre os livros de Rust
Para Avançados
The Rustonomicon
- URL: doc.rust-lang.org/nomicon/
- Formato: livro online gratuito
- Foco: unsafe Rust em profundidade
- Cobre: layout de memória, ownership avançado, subtyping, FFI, UB
- Ideal para: quem precisa escrever unsafe ou entender internals
- Aviso: não é para iniciantes; requer base sólida
Rust Atomics and Locks (O’Reilly)
- Autora: Mara Bos
- Foco: concorrência, atomics, locks, memory ordering
- Ideal para: quem trabalha com sistemas concorrentes
- Diferencial: escrito por membro da equipe core do Rust
- Disponível gratuitamente: marabos.nl/atomics/
Rust Design Patterns
- URL: rust-unofficial.github.io/patterns/
- Formato: livro online gratuito
- Foco: padrões idiomáticos, anti-patterns, design patterns em Rust
- Ideal para: quem quer escrever código mais idiomático
Tabela Comparativa de Livros
| Livro | Nível | Preço | Formato | Atualizado | Nota |
|---|---|---|---|---|---|
| The Rust Book | Iniciante | Gratuito | Online | Sim | 9/10 |
| Programming Rust | Iniciante-Médio | ~$50 | Impresso/Digital | 2021 | 9/10 |
| Rust in Action | Iniciante-Médio | ~$40 | Impresso/Digital | 2021 | 8/10 |
| Rust for Rustaceans | Médio-Avançado | ~$40 | Impresso | 2021 | 10/10 |
| Zero To Production | Médio | ~$50 | Digital | Contínuo | 10/10 |
| Rustonomicon | Avançado | Gratuito | Online | Sim | 9/10 |
| Atomics and Locks | Avançado | Gratuito | Online/Impresso | 2023 | 10/10 |
| Design Patterns | Médio | Gratuito | Online | Sim | 8/10 |
Canais de YouTube
Em Português
| Canal | Foco | Frequência | Nível |
|---|---|---|---|
| Rust Brasil | Tutoriais gerais | Variável | Iniciante |
| Código Fonte TV | Episódios sobre Rust | Esporádico | Iniciante |
| Filipe Deschamps | Menções a Rust | Esporádico | Iniciante |
Em Inglês
| Canal | Foco | Frequência | Nível |
|---|---|---|---|
| Jon Gjengset | Deep dives, Crust of Rust | Semanal/Quinzenal | Avançado |
| Let’s Get Rusty | Tutoriais, Rust Book | Semanal | Iniciante-Médio |
| Ryan Levick | Tutoriais, live coding | Variável | Médio |
| No Boilerplate | Ensaios sobre Rust | Quinzenal | Todos |
| fasterthanlime | Deep dives técnicos | Mensal | Avançado |
| The Primeagen | Streams com Rust | Frequente | Médio |
| Jeremy Chone | Tutoriais práticos | Semanal | Médio |
| Tim Clicks | Rust in Action autor | Variável | Iniciante-Médio |
| Logan Smith | Conceitos de Rust | Mensal | Médio |
Playlists Recomendadas
Para iniciantes:
- “The Rust Lang Book” por Let’s Get Rusty (vídeo por capítulo do Book)
- “Rust Tutorial” por Doug Milford (série completa para iniciantes)
Para intermediários:
- “Crust of Rust” por Jon Gjengset (deep dives em tópicos específicos)
- “Rust Projects” por Jeremy Chone (projetos práticos)
Para avançados:
- “Implementing TCP in Rust” por Jon Gjengset
- “Decrusting the tokio crate” por Jon Gjengset
- Conferências: busque playlists de RustConf, EuroRust, Rust Nation
Podcasts
| Podcast | Formato | Frequência | Idioma |
|---|---|---|---|
| New Rustacean | Ensino de Rust | Encerrado (arquivo) | EN |
| Rustacean Station | Entrevistas | Quinzenal | EN |
| Rust in Production | Casos de uso | Mensal | EN |
| Are We Podcast Yet? | Discussões gerais | Variável | EN |
| Building with Rust | Técnico + entrevistas | Mensal | EN |
Podcasts gerais de programação com episódios sobre Rust:
- Software Engineering Daily
- Changelog
- CoRecursive
Plano de Aprendizado por Recurso
Caminho Recomendado para Iniciantes (0-3 meses)
Semana 1-2: The Rust Book, capítulos 1-6
+ Rustlings (seções correspondentes)
Semana 3-4: The Rust Book, capítulos 7-10
+ Rustlings (seções correspondentes)
+ Tour of Rust (reforço visual)
Semana 5-6: The Rust Book, capítulos 11-15
+ Exercism (primeiros 20 exercícios)
Semana 7-8: The Rust Book, capítulos 16-20
+ Exercism (exercícios médios)
Semana 9-12: Projeto prático (CLI tool)
+ Let's Get Rusty (vídeos relevantes)
+ Exercism (exercícios avançados)
Caminho Recomendado para Intermediários (3-12 meses)
Mês 4-5: Rust for Rustaceans (leitura)
+ Crust of Rust (vídeos)
+ Contribuição open source (issues fáceis)
Mês 6-8: Zero To Production (projeto web)
+ Comprehensive Rust (revisão rápida)
+ Exercism (exercícios difíceis)
Mês 9-12: Projeto próprio complexo
+ Programming Rust (referência)
+ Conferências (assistir talks)
Caminho Recomendado para Avançados (12+ meses)
Contínuo: Rustonomicon (referência)
+ Atomics and Locks (leitura)
+ Jon Gjengset deep dives
+ Contribuição para rustc/std
+ Escrita de blog posts
+ Apresentações em conferências
Como Escolher o Recurso Certo para Você
Diagnóstico: Qual é o seu perfil?
Se você aprende melhor lendo:
- The Rust Book (gratuito)
- Programming Rust (profundidade)
- Rust for Rustaceans (avançado)
Se você aprende melhor fazendo:
- Rustlings (exercícios no terminal)
- Exercism (exercícios com mentoria)
- Rust in Action (projetos práticos)
Se você aprende melhor assistindo:
- Let’s Get Rusty (iniciante)
- Crust of Rust (intermediário/avançado)
- No Boilerplate (ensaios inspiradores)
Se você quer construir algo real:
- Zero To Production (web backend)
- Rust in Action (sistemas)
- Hands-on Rust (gamedev)
Quanto Investir
Para quem está começando e tem orçamento limitado, a boa notícia é que os melhores recursos são gratuitos:
| Investimento | Recursos |
|---|---|
| R$ 0 | The Book, Rustlings, Exercism, Rust by Example, YouTube |
| R$ 100-200 | Cursos Udemy (aguarde promoções), Rust in Action |
| R$ 200-500 | Programming Rust + Zero To Production |
| R$ 500+ | Cursos especializados (Linux Foundation, etc.) |
A recomendação é começar com recursos gratuitos e investir em recursos pagos apenas quando sentir necessidade de aprofundamento em áreas específicas.
Conclusão
O ecossistema de aprendizado do Rust é rico e diversificado. Independente do seu estilo de aprendizado, nível atual ou orçamento, existem recursos excelentes disponíveis para você.
Resumo das recomendações:
- Comece pelo The Rust Book + Rustlings: a combinação mais testada e comprovada
- Use Exercism para prática com feedback: mentoria humana gratuita é inestimável
- Assista Crust of Rust quando estiver intermediário: os melhores deep dives da internet
- Leia Zero To Production para web: o recurso definitivo para backend Rust
- Construa projetos reais: nenhum curso substitui a experiência de construir algo do zero
- Participe da comunidade: perguntas, respostas, blogs e talks aceleram o aprendizado
O recurso mais importante, porém, não está em nenhuma lista: é a sua consistência. Dedicar 1 hora por dia todos os dias é infinitamente mais eficaz do que maratonas esporádicas. Escolha seus recursos, monte seu plano e comece hoje.