Próximos passos em Rust
Se você estudou os temas deste curso, já sabe Rust o suficiente para criar programas de verdade: variáveis, controle de fluxo, funções, ownership (posse), borrowing (empréstimo), coleções, módulos, tratamento de erros, traits, genéricos e até threads, smart pointers (ponteiros inteligentes), unsafe e macros. Isso é, de verdade, a maior parte do que você vai usar no dia a dia. O que falta é principalmente prática, e ir aprendendo cada biblioteca conforme for precisando.
Construa algo pequeno
Seção intitulada “Construa algo pequeno”O jeito mais rápido de aprender daqui para frente é escolher um projeto pequeno e empacar algumas vezes. Este site tem cinco projetos guiados para começar:
- Jogo de adivinhação — o clássico primeiro projeto em Rust: entrada do usuário, loops e
match. - Contador de palavras — leia um arquivo de texto e use um
HashMappara contar palavras. - Lista de tarefas — pratique
Vec,struct,enume salvamento em arquivo. - CLI com clap — uma ferramenta de linha de comando de verdade, com subcomandos e
--help. - API web com Axum — um servidor de API JSON construído com async/await.
Depois de fazer esses, tente um por conta própria:
- Uma calculadora simples — pratique
match,Resulte tratamento de erros com entradas inválidas. - Um leitor de configuração em JSON — carregue configurações de um arquivo com o Serde.
- Um pequeno web scraper ou cliente de API — busque uma URL com o
reqwestusando async/await.
Ainda não sabe que tipo de programa quer construir? As páginas de “O que você pode construir” mostram onde o Rust se destaca e quais crates as pessoas usam: redes, bancos de dados, apps de desktop com interface gráfica, jogos e microcontroladores.
Quer praticar com coisas menores antes? Resolva os Exercícios ou se teste com as Perguntas de entrevista.
Crates que vale a pena conhecer
Seção intitulada “Crates que vale a pena conhecer”O ecossistema de pacotes do Rust (os crates, distribuídos pelo crates.io) cobre quase tudo para o que você ia querer uma biblioteca. Alguns aparecem o tempo todo:
serde— para ler e escrever JSON (e outros formatos); veja JSON com Serdeclap— para criar parsers de argumentos de linha de comando; veja o projeto com clapanyhow/thiserror— para tratamento de erros em aplicações e bibliotecas; veja anyhow e thiserrorrand,regexechrono— números aleatórios, expressões regulares e datas; veja Números aleatórios, Expressões regulares e Datas e horaslog/tracing— para logging (registro de logs); veja Logging em Rustreqwest— para fazer requisições HTTPtokio— para programação assíncrona; veja Async/Await
A documentação desses crates está em inglês. Você adiciona qualquer um deles a um projeto com cargo add <nome do crate>, sem precisar de outro gerenciador de pacotes. A página Cargo e crates explica como isso funciona e como escolher um bom crate.
Temas que não cobrimos
Seção intitulada “Temas que não cobrimos”Este curso foi mais longe que a maioria dos tutoriais para iniciantes, incluindo coisas como smart pointers, threads e canais (channels), async/await, unsafe Rust, chamar código C (FFI), WebAssembly e escrever as suas próprias macros com macro_rules!. Alguns temas mais avançados têm a sua própria página, para quando você estiver pronto:
- Macros procedurais — as primas mais poderosas (e mais complexas) das macros
macro_rules!da página Macros; são elas que fazem o#[derive(Debug)]e companhia funcionarem por baixo dos panos - no_std / Rust embarcado — escrever Rust sem a biblioteca padrão, para microcontroladores e outros ambientes com recursos limitados
Você não precisa de nenhum desses para escrever Rust útil. Vale a pena saber que eles existem, e aprender quando você realmente esbarrar em um problema que precise deles.
Onde continuar aprendendo
Seção intitulada “Onde continuar aprendendo”- The Rust Book (em inglês) — releia agora que o básico já fez sentido; muita coisa vai ficar mais clara na segunda vez
- Rust by Example (em inglês) — mais código comentado para ler
- Rustlings (em inglês) — pequenos exercícios para você corrigir, direto no terminal
- This Week in Rust (em inglês) — uma newsletter semanal para ver o que a comunidade está construindo
Um último recado sincero
Seção intitulada “Um último recado sincero”Você ainda vai se deparar com erros do compilador que te deixam confuso, e isso é normal. Acontece com quem escreve Rust há anos, não só com iniciantes. A diferença que a experiência faz não é que os erros param de aparecer; é que você fica mais rápido para entendê-los. Continue escrevendo código, continue lendo o que o compilador te diz, e tudo vai ficando mais fácil.
Boa sorte, e obrigado por ter chegado até aqui. 🦀
Teste o que aprendeu
Seção intitulada “Teste o que aprendeu”Teste o que aprendeu
1. Qual crate esta página recomenda para ler e escrever JSON?
2. Qual crate é citado para programação assíncrona?
3. Qual destes a página lista como um tema que NÃO foi coberto?
Pontuação: 0 / 3