Próximos pasos en Rust
Si ya recorriste los temas de este curso, sabes suficiente Rust para crear programas de verdad: variables, control de flujo, funciones, ownership (propiedad), borrowing (préstamo), colecciones, módulos, manejo de errores, traits (rasgos), genéricos, e incluso hilos, punteros inteligentes, unsafe y macros. Eso es, de verdad, la mayor parte de lo que vas a usar en el día a día. Lo que queda es sobre todo práctica, e ir aprendiendo cada biblioteca a medida que la necesites.
Construye algo pequeño
Sección titulada «Construye algo pequeño»La forma más rápida de aprender a partir de aquí es elegir un proyecto pequeño y atascarte unas cuantas veces. Este sitio tiene cinco proyectos guiados para empezar:
- Juego de adivinanzas — el clásico primer proyecto en Rust: entrada de teclado, bucles y
match. - Contador de palabras — lee un archivo de texto y usa un
HashMappara contar palabras. - Lista de tareas en la terminal — practica con
Vec,struct,enumy guardar datos en un archivo. - Herramienta de línea de comandos con clap — una herramienta de terminal de verdad, con subcomandos y
--help. - API web con Axum — un servidor de API JSON construido sobre async/await.
Cuando los termines, prueba uno por tu cuenta:
- Una calculadora sencilla — practica
match,Resulty el manejo de errores cuando la entrada no es válida. - Un lector de configuración en JSON — carga ajustes desde un archivo con Serde.
- Un pequeño web scraper o cliente de API — descarga una URL con
reqwestusando async/await.
¿No tienes claro qué tipo de programa quieres construir? Las páginas de “Qué puedes construir” muestran en qué destaca Rust y qué crates usa la gente: redes, bases de datos, apps de escritorio con interfaz gráfica, videojuegos y microcontroladores.
¿Prefieres practicar con algo más pequeño primero? Resuelve los Ejercicios o ponte a prueba con las Preguntas de entrevista.
Crates que conviene conocer
Sección titulada «Crates que conviene conocer»El ecosistema de paquetes de Rust (los crates, que se distribuyen a través de crates.io) cubre casi todo lo que querrías resolver con una biblioteca. Estos aparecen todo el tiempo:
serde— para leer y escribir JSON (y otros formatos); mira JSON con Serdeclap— para leer los argumentos de la línea de comandos; mira el proyecto con clapanyhow/thiserror— para manejar errores en aplicaciones y bibliotecas; mira anyhow y thiserrorrand,regexychrono— números aleatorios, expresiones regulares y fechas; mira Números aleatorios, Expresiones regulares y Fechas y horaslog/tracing— para el registro de eventos (logging); mira Logging en Rustreqwest— para hacer peticiones HTTPtokio— para programación asíncrona; mira Async/Await
Puedes agregar cualquiera de ellos a un proyecto con cargo add <nombre del crate>, sin necesidad de otro gestor de paquetes. La página Cargo y crates explica cómo funciona y cómo elegir un buen crate.
Temas que no cubrimos
Sección titulada «Temas que no cubrimos»Este curso llegó más lejos que la mayoría de los tutoriales para principiantes: incluye cosas como punteros inteligentes, hilos y canales, async/await, Rust unsafe, llamar a código C (FFI), WebAssembly y cómo escribir tus propias macros con macro_rules!. Algunos temas más avanzados tienen su propia página, para cuando estés listo:
- Macros procedurales — el primo más potente (y más complejo) de las macros
macro_rules!de la página Macros; son las que hacen funcionar#[derive(Debug)]y cosas similares por dentro - no_std / Rust embebido — escribir Rust sin la biblioteca estándar, para microcontroladores y otros entornos con pocos recursos
No necesitas nada de esto para escribir Rust útil. Vale la pena saber que existen, y aprenderlos cuando de verdad te encuentres con un problema que los necesite.
Dónde seguir aprendiendo
Sección titulada «Dónde seguir aprendiendo»- El libro de Rust (traducción de la comunidad) o The Rust Book (en inglés) — vuelve a leerlo ahora que lo básico ya tiene sentido; mucho de su contenido se entiende mejor la segunda vez
- Rust by Example (en inglés) — más código comentado para leer
- Rustlings (en inglés) — pequeños ejercicios que vas arreglando, directamente en tu terminal
- This Week in Rust (en inglés) — un boletín semanal para ver qué está construyendo la comunidad
Una última nota sincera
Sección titulada «Una última nota sincera»Vas a seguir encontrándote errores del compilador que te confundan, y es normal: les pasa a personas que llevan años escribiendo Rust, no solo a principiantes. La diferencia que da la experiencia no es que los errores desaparezcan, sino que aprendes a leerlos más rápido. Sigue escribiendo código, sigue leyendo lo que te dice el compilador, y cada vez será más fácil.
Mucha suerte, y gracias por llegar hasta aquí. 🦀
Comprueba lo que aprendiste
Sección titulada «Comprueba lo que aprendiste»Comprueba lo aprendido
1. ¿Qué crate se recomienda aquí para leer y escribir JSON?
2. ¿Qué crate se menciona para la programación asíncrona?
3. ¿Cuál de estos temas aparece en la página como uno que NO se cubrió?
Puntuación: 0 / 3