Conheça as crates e ferramentas mais importantes do ecossistema Rust. Cada página inclui instalação, exemplos práticos, boas práticas e comparações com alternativas.
Ferramentas de Desenvolvimento
As ferramentas essenciais que todo desenvolvedor Rust precisa dominar.
Cargo
O gerenciador de pacotes e build system do Rust. Workspaces, features, profiles e scripts.
Rustup
Gerenciador de toolchains. Stable, nightly, targets de cross-compilation e componentes.
Clippy
O linter oficial do Rust com 700+ regras. Código idiomático e correção de anti-patterns.
Rustfmt
Formatador oficial de código Rust. Configuração, CI/CD e integração com editores.
rust-analyzer
Language server oficial do Rust. Autocomplete, diagnósticos e refatorações em VS Code, Neovim e Zed.
Serialização e Dados
Crates para serialização, parsing e manipulação de dados.
Serde
O framework de serialização mais usado em Rust. JSON, TOML, YAML, binário e mais.
Regex
Expressões regulares de alta performance. Sintaxe, capturas e busca em texto.
Chrono
Manipulação de datas e horários. Fuso horário, formatação e cálculos temporais.
Rand
Geração de números aleatórios. Distribuições, RNGs e aleatoriedade criptográfica.
Async e Concorrência
Runtimes assíncronos e primitivas de concorrência.
Tokio
O runtime assíncrono mais popular do Rust. Tasks, I/O, timers e sincronização.
Rayon
Paralelismo de dados com zero esforço. Iteradores paralelos e work-stealing.
Crossbeam
Primitivas de concorrência avançadas. Channels, epochs e estruturas lock-free.
Tower
Abstrações de serviço modulares. Middleware, rate limiting e circuit breakers.
Web e HTTP
Frameworks web, HTTP clients e APIs.
Axum
Framework web moderno da equipe Tokio. Type-safe, ergonômico e altamente performático.
Actix Web
Framework web de altíssima performance. Actor model, middlewares e WebSockets.
Rocket
Framework web declarativo e batteries-included. Macros de rota, guards, fairings e templates.
Reqwest
HTTP client ergonômico para Rust. Async/sync, TLS, cookies e multipart uploads.
Hyper
HTTP de baixo nível para Rust. A base de Axum, Reqwest e muitos outros frameworks.
Tonic
Framework gRPC nativo para Rust. Streaming, interceptors e code generation com Prost.
Prost
Protocol Buffers para Rust. Code generation, mensagens tipadas e integração com Tonic.
Banco de Dados
ORMs, drivers e acesso a banco de dados.
SQLx
Queries SQL com verificação em compile-time. Async, PostgreSQL, MySQL e SQLite.
Diesel
ORM type-safe e query builder. Schema DSL, migrations e zero-cost abstractions.
Rusqlite
Bindings ergonômicas para SQLite. Perfeito para apps embarcados e protótipos rápidos.
Sled
Banco de dados embarcado key-value. Transações, watches e alta performance em Rust puro.
CLI e Configuração
Ferramentas para criar CLIs e gerenciar configuração.
Clap
Parser de argumentos CLI mais popular do Rust. Derive macros, subcomandos e autocompletion.
Config
Gerenciamento de configuração em camadas. TOML, YAML, env vars e merge inteligente.
Observabilidade e Logging
Logging, tracing e monitoramento.
Tracing
Observabilidade estruturada para Rust. Spans, events, subscribers e integração com OpenTelemetry.
Log e env_logger
A facade de logging padrão do Rust. Simples, leve e compatível com todo o ecossistema.
Tratamento de Erros
Crates para gerenciamento robusto de erros.
Anyhow e Thiserror
O duo dinâmico de erros em Rust. Thiserror para libs, Anyhow para aplicações.
WebAssembly
Crates para compilar Rust para WebAssembly.
wasm-bindgen
Interop entre Rust e JavaScript via WebAssembly. DOM, Web APIs e JS bindings.
Testes e Benchmarks
Ferramentas para testar e medir performance.
Criterion
Benchmarking estatístico para Rust. Gráficos, comparações e detecção de regressões.
Proptest
Testes baseados em propriedades. Geração automática de inputs e shrinking inteligente.
Criterion: Benchmarking Estatístico em Rust
A crate criterion é a ferramenta padrão da comunidade Rust para benchmarking estatístico. Diferente do benchmarking nativo (#[bench]), que está disponível …
Proptest: Testes Baseados em Propriedades em Rust
A crate proptest traz para Rust o conceito de testes baseados em propriedades (property-based testing), popularizado por QuickCheck em Haskell. Em vez de testar …