
Curso de programación en Rust
Domine Rust desde cero — desde el ownership y el borrowing hasta la concurrencia asíncrona y la programación de sistemas. Este curso cubre todo lo que necesita para escribir código Rust rápido, seguro y listo para producción. Ya sea que esté construyendo servicios web, herramientas de CLI o software de sistemas de bajo nivel, adquirirá las habilidades para hacerlo correctamente.
Qué vas a aprender:
Usted comenzará configurando su toolchain de Rust y aprendiendo la sintaxis básica, para luego pasar al modelo de ownership, las reglas de borrowing y las lifetimes de Rust. De ahí en adelante, trabajará con structs, enums, pattern matching y un manejo robusto de errores. Dominará las colecciones, los iteradores, los closures, los traits y los genéricos antes de abordar la concurrencia con hilos, canales y async/await. El curso también cubre Rust inseguro, FFI, testing, perfilamiento de rendimiento, macros, programación web con Axum y flujos de trabajo de despliegue de CI/CD.
Cómo estudias de forma práctica Curso de programación en Rust
Cómo practicas Curso de programación en Rust
Para ti que eres empresa y quieres capacitar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesPrimeros pasos con Rust
Primeros pasos con Rust
Lección 1 • Sintaxis de Rust y tipos básicos
Cubre variables, tipos escalares y expresiones básicas. Proporciona el vocabulario sintáctico necesario para leer y escribir cualquier programa en Rust.
Lección 2 • Instalación y configuración de Rust
Configure rustup, cargo y un editor de código para el desarrollo en Rust. Establece la base de herramientas de la que depende cada capítulo posterior.
Lección 3 • Usando Cargo y crates
Explora los comandos de Cargo, la estructura del proyecto y la adición de crates externos. Conecta el conocimiento de sintaxis con los flujos de trabajo de proyectos reales utilizados a lo largo del curso.
Lección 4 • Fundamentos del flujo de control
Enseña las construcciones if, loop, while y for en Rust. Permite a los estudiantes escribir programas con lógica de ramificación e iteración.
Lección 5 • Funciones y organización del código
Define funciones con parámetros y tipos de retorno, e introduce módulos. Prepara a los estudiantes para estructurar programas más allá de una única función principal.
Capítulo 2OcultarOcultar detallesVer detallesPropiedad, préstamo y tiempos de vida
Propiedad, préstamo y tiempos de vida
Lección 1 • Anotaciones de tiempo de vida
Enseña la sintaxis explícita de tiempo de vida para funciones y estructuras. Permite a los estudiantes resolver errores de tiempo de vida y diseñar APIs con datos prestados.
Lección 2 • Referencias y préstamo
Introduce las referencias compartidas y mutables con las reglas del verificador de préstamos. Los estudiantes aprenden a pasar datos sin transferir la propiedad.
Lección 3 • Slices y tipos de cadena
Cubre las referencias slice para arreglos y cadenas, y distingue str de String. Une los conceptos de propiedad con el manejo práctico de cadenas y colecciones.
Lección 4 • Patrones de propiedad en la práctica
Aplica las reglas de propiedad y préstamo a escenarios de código realistas. Consolida la comprensión resolviendo conflictos comunes del verificador de préstamos.
Lección 5 • Reglas de propiedad y semántica de movimiento
Explica la semántica de propietario único y cómo los valores se mueven entre vinculaciones. Forma el núcleo conceptual sobre el que se construyen todas las reglas de préstamo y tiempo de vida.
Capítulo 3OcultarOcultar detallesVer detallesEstructuras, enumeraciones y coincidencia de patrones
Estructuras, enumeraciones y coincidencia de patrones
Lección 1 • Métodos y funciones asociadas
Agrega comportamiento a las estructuras mediante bloques impl y funciones asociadas. Conecta el modelado de datos con la encapsulación al estilo orientado a objetos en Rust.
Lección 2 • Enumeraciones y variantes
Define enumeraciones con variantes que contienen datos e introduce Option. Permite modelar valores que pueden tomar una de varias formas distintas.
Lección 3 • Coincidencia de patrones con match
Utiliza expresiones match para desestructurar enumeraciones, tuplas y estructuras. Enseña el manejo exhaustivo de patrones, central para el flujo de control idiomático en Rust.
Lección 4 • if let y patrones avanzados
Introduce la coincidencia de patrones concisa con if let, while let y patrones anidados. Amplía las habilidades con patrones a escenarios condicionales y de bucle cotidianos.
Lección 5 • Definiendo y usando estructuras
Cubre la definición de estructuras, instanciación y acceso a campos. Proporciona la herramienta principal para agrupar datos relacionados en programas Rust.
Capítulo 4OcultarOcultar detallesVer detallesManejo de errores en Rust
Manejo de errores en Rust
Lección 1 • Panics y errores irrecuperables
Explica cuándo Rust entra en pánico, cómo desencadenarlos y capturarlos, y cuándo usarlos. Establece el límite entre escenarios que ameritan un panic y los de error recuperable.
Lección 2 • Tipos de error personalizados
Define enumeraciones de error personalizadas e implementa el trait Error. Permite que las librerías y aplicaciones expongan información de error significativa y estructurada.
Lección 3 • Estrategias de manejo de errores
Compara errores encajonados, tipos personalizados y anyhow para código de aplicación vs. librería. Guía a los estudiantes en la elección de la estrategia adecuada para cada contexto.
Lección 4 • El operador ? y propagación de errores
Utiliza el operador ? para propagar errores hacia arriba en la pila de llamadas de manera concisa. Reduce el código repetitivo y hace que el código de manejo de errores sea legible e idiomático.
Lección 5 • El tipo Result
Cubre la definición de Result<T, E>, la coincidencia en Ok y Err, y los combinadores comunes. Proporciona el mecanismo principal para propagar errores recuperables.
Capítulo 5OcultarOcultar detallesVer detallesColecciones, iteradores y cierres
Colecciones, iteradores y cierres
Lección 1 • Consumiendo iteradores
Utiliza collect, fold, sum y otros consumidores para producir resultados a partir de iteradores. Completa el pipeline del iterador desde la fuente, pasando por la transformación, hasta la salida.
Lección 2 • El trait Iterator y adaptadores
Explora el trait Iterator, la evaluación perezosa y los métodos adaptadores. Enseña la transformación de datos de estilo funcional central para el Rust idiomático.
Lección 3 • Iteradores personalizados
Implementa el trait Iterator en tipos personalizados para producir secuencias. Profundiza la comprensión de cómo funciona internamente la maquinaria de iteradores de Rust.
Lección 4 • Cierres y captura del entorno
Define cierres, sus modos de captura y los límites del trait Fn. Permite pasar comportamiento como valores, lo cual requieren los iteradores y las funciones de orden superior.
Lección 5 • Vectores y colecciones comunes
Cubre la creación, acceso y mutación de Vec<T>, String y HashMap<K, V>. Proporciona los contenedores de datos estándar utilizados en casi todos los programas Rust.
Capítulo 6OcultarOcultar detallesVer detallesTraits, genéricos y polimorfismo
Traits, genéricos y polimorfismo
Lección 1 • Definiendo e implementando traits
Crea traits con métodos requeridos y predeterminados, y los implementa en tipos. Establece el mecanismo de comportamiento compartido del que dependen los genéricos y el polimorfismo.
Lección 2 • Técnicas avanzadas de traits
Cubre tipos asociados, sobrecarga de operadores y el patrón Newtype. Amplía el conocimiento de traits a escenarios sofisticados de diseño de API.
Lección 3 • Objetos trait y despacho dinámico
Utiliza punteros dyn Trait para polimorfismo en tiempo de ejecución y explica los costos de vtable. Enseña cuándo es apropiado el despacho dinámico frente al estático.
Lección 4 • Límites de trait y cláusulas where
Restringe los tipos genéricos con límites de trait y cláusulas where. Permite que el código genérico llame a métodos de trait manteniendo las firmas legibles.
Lección 5 • Funciones y tipos genéricos
Parametriza funciones, estructuras y enumeraciones con parámetros de tipo. Permite escribir código que funciona con muchos tipos manteniéndose seguro en cuanto a tipos.
Capítulo 7OcultarOcultar detallesVer detallesConcurrencia y Rust asíncrono
Concurrencia y Rust asíncrono
Lección 1 • Fundamentos de Async/Await
Introduce futures, funciones async y la palabra clave await con un tiempo de ejecución. Prepara a los estudiantes para patrones de I/O no bloqueante y aplicaciones de alta concurrencia.
Lección 2 • Traits Send y Sync
Explica los traits marcadores Send y Sync y su papel en la seguridad de hilos. Permite a los estudiantes razonar sobre qué tipos pueden cruzar los límites de los hilos.
Lección 3 • Hilos y estado compartido
Genera hilos del SO, comparte datos con Arc y Mutex, y evita condiciones de carrera. Demuestra cómo las reglas de propiedad imponen la seguridad de hilos en tiempo de compilación.
Lección 4 • Patrones y trampas de async
Cubre futures concurrentes, generación de tareas y errores comunes en async. Capacita a los estudiantes para construir programas asíncronos correctos y eficientes en contextos de producción.
Lección 5 • Paso de mensajes con canales
Utiliza canales mpsc para comunicarse entre hilos sin memoria compartida. Introduce el modelo de concurrencia de paso de mensajes como alternativa al bloqueo.
Capítulo 8OcultarOcultar detallesVer detallesProgramación de sistemas y Rust inseguro
Programación de sistemas y Rust inseguro
Lección 1 • Diseño de memoria y punteros crudos
Examina cómo Rust organiza los datos en memoria e introduce la sintaxis de punteros crudos. Proporciona la base de bajo nivel necesaria para las operaciones inseguras.
Lección 2 • Entornos embebidos y sin std
Configura Rust para objetivos no_std y utiliza los crates core y alloc. Extiende las habilidades de Rust a microcontroladores y entornos sin un sistema operativo.
Lección 3 • Asignadores personalizados y gestión de memoria
Implementa el trait Allocator y explora la asignación por arena y pool. Aborda escenarios críticos de rendimiento donde la asignación predeterminada es insuficiente.
Lección 4 • Interfaz de función foránea
Llama funciones de C desde Rust y expone funciones de Rust a C usando extern. Permite la integración con librerías nativas existentes y APIs del sistema.
Lección 5 • Bloques y funciones inseguras
Define lo que permite unsafe y cómo minimizar su alcance. Enseña el uso responsable de unsafe para extender capacidades sin sacrificar la corrección.
Tu certificado válido de finalización
Este curso es para ti:
Desarrollador backend: quiere reemplazar servicios lentos o inseguros con alternativas en Rust.
Programador en C o C++: busca seguridad en tiempo de compilación sin sacrificar el control de bajo nivel.
Constructor aficionado: entusiasmado por crear herramientas CLI y proyectos de sistemas en Rust.
Persona en cambio de trayectoria profesional: apunta a roles de ingeniería de alta demanda que requieren habilidades de programación de sistemas.
Ingeniero de DevOps: necesita escribir herramientas confiables y de alto rendimiento para pipelines de infraestructura.
Estudiante de ciencias de la computación: listo para ir más allá de los trabajos del curso y abordar el desarrollo en Rust en el mundo real.
Lo que dicen nuestros estudiantes
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... les agradezco por todo lo que hacen, ya los he recomendado a otras personas...

Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!

La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en Ecuador?
¿Los cursos son gratuitos?
¿Cuál es la carga horaria del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el costo o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















