Aprende Rust · 8 min
La caja de herramientas de Rust: del terminal a producción
Herramientas de línea de comandos como eza, ripgrep y oha, y frameworks para web, CLI, escritorio, embebidos y datos que un dev usa a diario.
Esta es la lista que le daríamos a alguien en su primer día. Empieza por herramientas que sirven a cualquier dev, y termina con los frameworks para construir lo tuyo.
Cómo instalarlas
Con Rust instalado, cargo install descarga y compila cualquiera de estas herramientas:
cargo install eza bat fd-find ripgrep zoxide
Compilar toma minutos. Para bajar binarios ya compilados, cuando existen, usa cargo-binstall:
cargo install cargo-binstall
cargo binstall eza bat fd-find ripgrep zoxide
Muchas también están en Homebrew, apt o Scoop. Ojo: el nombre del paquete no siempre es el del comando. fd-find instala fd, y ripgrep instala rg.
Terminal: tu día a día
Cada una reemplaza o complementa un comando clásico.
| Clásico | Herramienta | Comando | Qué mejora | Instalar |
|---|---|---|---|---|
ls | eza | eza | Colores, íconos, árbol y estado de Git | eza |
cat | bat | bat | Resaltado de sintaxis y números de línea | bat |
find | fd | fd | Sintaxis simple y muy rápido | fd-find |
grep | ripgrep | rg | Búsqueda recursiva, respeta .gitignore | ripgrep |
cd | zoxide | z | Recuerda tus carpetas frecuentes | zoxide |
du | dust | dust | Muestra de un vistazo qué ocupa espacio | du-dust |
ps | procs | procs | Procesos legibles y con búsqueda | procs |
top | bottom | btm | Monitor gráfico en el terminal | bottom |
man | tealdeer | tldr | Ejemplos prácticos en lugar de manuales | tealdeer |
curl | xh | xh | Peticiones HTTP legibles | xh |
git diff | delta | delta | Diferencias con resaltado | git-delta |
make | just | just | Atajos de proyecto, sin las rarezas de Make | just |
tmux | Zellij | zellij | Paneles y sesiones, con menús visibles | zellij |
Y estas no reemplazan nada, pero una vez que las pruebas cuesta dejarlas:
- Starship: una línea de comandos rápida, para cualquier shell.
- Atuin: historial de comandos con búsqueda y sincronización.
- Yazi: explorador de archivos en el terminal.
- GitUI: interfaz de Git en el terminal.
- Nushell: un shell que trata los datos como tablas.
Probar y medir
| Herramienta | Para qué sirve | Ejemplo |
|---|---|---|
| oha | Prueba de carga HTTP, con panel en vivo | oha -z 10s -c 64 http://localhost:8080/ |
| hyperfine | Comparar el tiempo de dos comandos | hyperfine 'grep -r x .' 'rg x' |
| flamegraph | Ver en qué se va la CPU | cargo flamegraph |
| tokei | Contar líneas de código por lenguaje | tokei |
Con oha medimos este microservicio, y no necesita Rust para probar servicios en cualquier lenguaje.
Desarrollo en Rust
Lo primero ya viene incluido: rustup trae cargo, clippy y rustfmt, y puede añadir rust-analyzer, que da autocompletado y errores en tu editor.
| Herramienta | Para qué sirve | Instalar |
|---|---|---|
| bacon | Revisa tu código al guardar, en otra ventana | bacon |
| cargo-nextest | Ejecuta pruebas más rápido y con mejor salida | cargo-nextest |
| cargo-llvm-cov | Cobertura de pruebas | cargo-llvm-cov |
| cargo-mutants | Comprueba si tus pruebas detectan errores | cargo-mutants |
| cargo-expand | Muestra el código que generan las macros | cargo-expand |
| cargo-machete | Encuentra dependencias sin usar | cargo-machete |
| cargo-outdated | Lista dependencias desactualizadas | cargo-outdated |
| sccache | Caché de compilación compartida | sccache |
| mdBook | Crea documentación tipo libro | mdbook |
Seguridad y calidad
Estas cuatro no deberían faltar en tu integración continua:
| Herramienta | Qué revisa |
|---|---|
| Clippy | Errores comunes y código sospechoso |
| cargo-audit | Vulnerabilidades conocidas en dependencias |
| cargo-deny | Licencias, orígenes y duplicados |
| Miri | Comportamiento indefinido en código unsafe |
Si publicas bibliotecas, suma cargo-semver-checks, que detecta cambios incompatibles.
Web y API
| Para | Opciones | Cómo elegir |
|---|---|---|
| Servidor HTTP | Actix Web, Axum | Las dos opciones habituales en producción |
| Framework completo | Rocket, Loco | Más convenciones; Loco se inspira en Rails |
| gRPC | Tonic | La implementación más usada |
| Entorno asíncrono | Tokio | La base de casi todo lo anterior |
| Cliente HTTP | reqwest | Para consumir API |
| Base de datos | SQLx, Diesel, SeaORM | SQL comprobado al compilar, o un ORM |
| Serialización | Serde | El estándar para JSON y otros formatos |
| Registro | tracing | Registro estructurado |
| Errores | anyhow, thiserror | anyhow en aplicaciones, thiserror en bibliotecas |
| Mensajería | lapin, rdkafka, redis | RabbitMQ, Kafka y Redis |
Frontend y WebAssembly
| Herramienta | Para qué sirve |
|---|---|
| Leptos | Aplicaciones web de pila completa, con reactividad fina |
| Dioxus | Interfaces para web, escritorio y móvil |
| Yew | Componentes web, de estilo similar a React |
| Trunk | Compila y sirve aplicaciones WebAssembly |
| wasm-bindgen, wasm-pack | Conectan Rust con JavaScript |
Crear tus propias CLI
Rust es uno de los mejores lenguajes para esto: un solo binario, arranque instantáneo y buen manejo de errores.
| Herramienta | Para qué sirve |
|---|---|
| clap | Argumentos y subcomandos |
| ratatui | Interfaces completas en el terminal |
| indicatif | Barras de progreso |
| dialoguer | Preguntas interactivas |
Escritorio y móvil
| Herramienta | Cómo funciona | Ideal para |
|---|---|---|
| Tauri | Interfaz web con lógica en Rust | Una alternativa ligera a Electron |
| egui | Interfaz inmediata, muy simple | Herramientas internas |
| Iced | Inspirado en la arquitectura Elm | Aplicaciones nativas |
| Slint | Lenguaje propio de interfaz | Escritorio y dispositivos |
| Bevy | Motor basado en datos | Videojuegos |
Embebidos
| Herramienta | Para qué sirve |
|---|---|
| Embassy | async para microcontroladores |
| RTIC | Aplicaciones de tiempo real |
| embedded-hal | Interfaz común para el hardware |
| esp-hal | Soporte para chips ESP32 |
| probe-rs | Cargar y depurar firmware |
Datos e IA
| Herramienta | Para qué sirve |
|---|---|
| Polars | Análisis de datos tabulares, también desde Python |
| DataFusion, Arrow | Motor de consultas y formato en memoria |
| Rayon | Paralelismo con muy pocos cambios |
| Candle, Burn | Aprendizaje automático |
| PyO3, Maturin | Crear extensiones para Python |
Por dónde empezar según tu perfil
- Cualquier dev:
eza,bat,fd,ripgrepyzoxide. Se aprenden en una tarde. - Backend: Actix Web o Axum, SQLx y tracing. Te mostramos un ejemplo con cifras.
- Data: Polars y PyO3. Es la entrada más natural desde Python, como vimos en la guía de migración.
- Escritorio: Tauri, si ya dominas la web.
- Embebidos: Embassy y probe-rs.
Comprobamos que estas herramientas existen y están activas en noviembre de 2026, pero el ecosistema cambia rápido. Antes de adoptar una en producción, revisa su mantenimiento y su licencia.
Fuentes
- crates.io: registro oficial de paquetes de Rust (nombres y actividad, noviembre de 2026)The Rust Project
- ClippyThe Rust Project
- rust-analyzerThe Rust Project