
Curso de programación en Rust
Domina Rust desde cero — desde ownership y borrowing hasta concurrencia asíncrona y programación de sistemas. Este curso cubre todo lo que necesitas para escribir código Rust rápido, seguro y listo para producción. Ya sea que estés creando servicios web, herramientas de CLI o software de sistemas de bajo nivel, adquirirás las habilidades para hacerlo correctamente.
Lo que vas a aprender:
Comenzarás configurando tu toolchain de Rust y aprendiendo la sintaxis básica, para luego pasar al modelo de ownership, las reglas de borrowing y los lifetimes. De ahí, trabajarás con structs, enums, pattern matching y manejo de errores robusto. Dominarás las colecciones, iteradores, closures, traits y genéricos antes de abordar la concurrencia con hilos, canales y async/await. El curso también cubre Rust inseguro, FFI, pruebas, perfilamiento de desempeño, 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 tienes una 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 detallesIntroducción a Rust
Introducción a 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
Configura 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 • Uso de 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 reales del proyecto 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 bifurcació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 sola 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 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 con el 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 cual 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 de la orientación 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 de Rust.
Lección 4 • if let y Patrones Avanzados
Introduce la coincidencia de patrones concisa con if let, while let y patrones anidados. Extiende las habilidades de patrones a escenarios condicionales y de bucle cotidianos.
Lección 5 • Definición y Uso de 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 aquellos con errores recuperables.
Lección 2 • Tipos de Error Personalizados
Define enumeraciones de error personalizadas e implementa el trait Error. Permite que bibliotecas 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 versus biblioteca. Guía a los estudiantes en la elección de la estrategia correcta 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 sobre Ok y Err, y los combinadores comunes. Proporciona el mecanismo principal para propagar errores recuperables.
Capítulo 5OcultarOcultar detallesVer detallesColecciones, Iteradores y Closures
Colecciones, Iteradores y Closures
Lección 1 • Consumo de Iteradores
Usa collect, fold, sum y otros consumidores para producir resultados a partir de iteradores. Completa el pipeline de iteradores desde el origen, 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 al 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 • Closures y Captura del Entorno
Define closures, sus modos de captura y los límites de los traits 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 • Definición e Implementación de Traits
Crea traits con métodos requeridos y predeterminados, y los implementa en tipos. Establece el mecanismo de comportamiento compartido del cual 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. Extiende el conocimiento de traits a escenarios sofisticados de diseño de API.
Lección 3 • Objetos Trait y Despacho Dinámico
Utiliza apuntadores dyn Trait para polimorfismo en tiempo de ejecución y explica los costos de la vtable. Enseña cuándo el despacho dinámico es apropiado en comparación con el despacho 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 en muchos tipos manteniendo la seguridad de tipos.
Capítulo 7OcultarOcultar detallesVer detallesConcurrencia y Rust Asíncrono
Concurrencia y Rust Asíncrono
Lección 1 • Fundamentos de Async/Await
Introduce futuros, funciones async y la palabra clave await con un runtime. Prepara a los estudiantes para E/S sin bloqueo y patrones de aplicación de alta concurrencia.
Lección 2 • Traits Send y Sync
Explica los traits marcadores Send y Sync y su rol 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 las condiciones de carrera. Demuestra cómo las reglas de propiedad imponen la seguridad de hilos en tiempo de compilación.
Lección 4 • Patrones Asíncronos y Dificultades Comunes
Cubre futuros concurrentes, generación de tareas y errores comunes de 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 Apuntadores Crudos
Examina cómo Rust organiza los datos en memoria e introduce la sintaxis de apuntadores crudos. Proporciona la base de bajo nivel necesaria para las operaciones inseguras.
Lección 2 • Entornos Embebidos y No-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 a funciones C desde Rust y expone funciones Rust a C usando extern. Permite la integración con bibliotecas nativas y APIs del sistema existentes.
Lección 5 • Bloques y Funciones Inseguros
Define qué 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 de C o C++: busca seguridad en tiempo de compilación sin sacrificar el control de bajo nivel.
Constructor aficionado: entusiasmado por crear herramientas de CLI y proyectos de sistemas en Rust.
Persona en cambio de carrera: apunta a roles de ingeniería de alta demanda que requieren habilidades de programación de sistemas.
Ingeniero 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 cursos y abordar el desarrollo en Rust del mundo real.
Lo que dicen nuestros alumnos
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, fácil 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 México?
¿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




















