Curso completo
Aprende Rust, no seas nutria.
Un recorrido progresivo para dominar el lenguaje más justiciero con la memoria.
Tu progreso
0%¿Todavía no has empezado?
— 3 leccionesAntes de RustOpcional
Una entrada opcional si necesitas repasar terminal, variables, funciones y compilación.
00 4 leccionesPreparación y mapa mental
Instala Rust, conoce Cargo y entiende qué clase de problemas intenta resolver el lenguaje.
01 4 leccionesSintaxis y control de flujo
Variables, tipos, expresiones, funciones y las estructuras que usarás en todo programa.
- 1.1Variables, mutabilidad y tipos
- 1.2Expresiones y funciones
- 1.3Condiciones y bucles
- 1.4Macros básicas
02 4 leccionesOwnership y préstamos
Haz visible la memoria para entender moves, Copy, Clone, referencias y borrowing.
- 2.1Ownership y movimientos
- 2.2Referencias y préstamos
- 2.3Slices, String y UTF-8
- 2.4Diseñar firmas con ownership
03 4 leccionesStructs, enums y patrones
Modela estados válidos con tipos y pattern matching exhaustivo.
- 3.1Structs, métodos y Self
- 3.2Enums con datos y Option
- 3.3Pattern matching exhaustivo
- 3.4Hacer imposibles estados inválidos
04 4 leccionesColecciones, texto y errores
Trabaja con datos reales y trata ausencia, fallos y texto UTF-8 de forma explícita.
- 4.1Vectores y mapas
- 4.2String, str, bytes y chars
- 4.3Option, Result y el operador ?
- 4.4Diseño de errores
05 4 leccionesCrates, testing y documentación
Organiza una base de código, define su API y comprueba que sigue funcionando.
- 5.1Módulos, crates y visibilidad
- 5.2Dependencias, SemVer y features
- 5.3Tests unitarios, integración y doc tests
- 5.4rustdoc, Clippy y CI
06 4 leccionesTraits, genéricos e iteradores
Construye abstracciones sin perder el control sobre tipos, costes y comportamiento.
- 6.1Traits y bounds
- 6.2Genéricos, impl Trait y dyn Trait
- 6.3Closures y capturas
- 6.4Iteradores y composición
07 4 leccionesI/O y aplicaciones CLI
Lee, transforma y escribe datos en una aplicación de terminal mantenible.
- 7.1Argumentos, entrada y salida
- 7.2Archivos, paths y buffers
- 7.3Serde y configuración
- 7.4Diseñar una CLI testeable
08 4 leccionesSmart pointers y mutabilidad interior
Elige Box, Rc, Arc, Cell o RefCell por sus garantías, no por costumbre.
- 8.1Box, Deref y Drop
- 8.2Rc, Arc y Weak
- 8.3Cell, RefCell, Mutex y RwLock
- 8.4Árboles, grafos y arenas
09 4 leccionesConcurrencia y async
Transfiere ownership entre tareas y diseña concurrencia con límites claros.
- 9.1Threads y canales
- 9.2Send, Sync y estado compartido
- 9.3Futures y async/await
- 9.4Cancelación y backpressure
10 4 leccionesRust idiomático y diseño de APIs
Pasa de hacer que compile a diseñar APIs que expresan invariantes.
- 10.1Tipos que expresan invariantes
- 10.2Builders y typestate
- 10.3Composición y patrones
- 10.4Diseñar una API pública
11 4 leccionesUnsafe, FFI y no_std
Entiende las obligaciones que aparecen cuando sales de las garantías seguras.
- 11.1Contratos de unsafe
- 11.2Raw pointers y layout
- 11.3FFI segura con C
- 11.4core, alloc y no_std