
Curso de programación en Rust
Domine Rust desde los primeros principios hasta el despliegue en producción en un solo curso integral. Conquistará la propiedad, la concurrencia asíncrona, la programación de sistemas y la arquitectura de aplicaciones del mundo real. Cada concepto se fundamenta en código práctico que usted puede enviar a producción. Este es el curso definitivo de Rust para desarrolladores que desean construir software rápido, seguro y confiable.
Lo que vas a aprender:
Usted construirá una base completa en la sintaxis, el sistema de tipos y la cadena de herramientas de Rust antes de avanzar hacia propiedad, préstamo y tiempos de vida. A partir de ahí, dominará los traits, los genéricos y el manejo idiomático de errores, para luego pasar a closures, iteradores y patrones de programación funcional. El curso cubre programación concurrente y asíncrona con Tokio, Rust inseguro y FFI, y diseño de aplicaciones de grado de producción. Las rutas complementarias incluyen APIs web con Axum, desarrollo de herramientas de CLI, WebAssembly y Rust embebido sin std. También aplicará prácticas profesionales que incluyen pruebas, perfilado, análisis estático y flujos de trabajo de colaboración en equipo.
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 • 38 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesFundamentos de Rust y Configuración del Toolchain
Fundamentos de Rust y Configuración del Toolchain
Lección 1 • Tipos Compuestos y Colecciones
Introduce tuplas, arreglos, estructuras (structs) y enumeraciones (enums) como contenedores de datos. Prepara a los estudiantes para modelar datos del mundo real antes de introducir la propiedad (ownership).
Lección 2 • Instalación y Configuración del Toolchain
Configure Rust mediante rustup, administre versiones del toolchain y configure editores. Establece la línea base de desarrollo requerida para todo el trabajo posterior.
Lección 3 • Cargo y el Sistema de Módulos
Explica los comandos de Cargo, la estructura de Cargo.toml y las reglas de visibilidad de módulos. Permite organizar proyectos con múltiples archivos desde el principio.
Lección 4 • Sintaxis Básica y Tipos Primitivos
Cubre variables, mutabilidad, tipos escalares y expresiones básicas. Proporciona la base sintáctica de la que depende cada capítulo posterior.
Lección 5 • Flujo de Control y Funciones
Enseña condicionales if/else, bucles (loops), expresiones match y definiciones de funciones. Permite escribir lógica estructurada utilizada a lo largo del curso.
Capítulo 2OcultarOcultar detallesVer detallesPropiedad (Ownership), Préstamo (Borrowing) y Tiempos de Vida (Lifetimes)
Propiedad (Ownership), Préstamo (Borrowing) y Tiempos de Vida (Lifetimes)
Lección 1 • Anotaciones de Tiempo de Vida (Lifetime)
Introduce la sintaxis de tiempos de vida, las reglas de elisión y los parámetros de tiempo de vida en estructuras. Permite escribir funciones que retornan referencias de forma segura.
Lección 2 • Punteros Inteligentes (Smart Pointers)
Explora Box, Rc, Arc, RefCell y sus casos de uso. Extiende los patrones de propiedad a escenarios de asignación en el montículo (heap) y propiedad compartida.
Lección 3 • Reglas de Propiedad y Semántica de Movimiento (Move)
Define las tres reglas de propiedad y explica la semántica de movimiento vs. copia. Forma el núcleo conceptual sobre el cual se construye todo el razonamiento del verificador de préstamos.
Lección 4 • Referencias y Préstamo (Borrowing)
Cubre referencias compartidas y mutables, reglas de préstamo y prevención de referencias colgantes. Permite pasar datos sin transferir la propiedad.
Capítulo 3OcultarOcultar detallesVer detallesTraits, Genéricos y Dominio del Sistema de Tipos
Traits, Genéricos y Dominio del Sistema de Tipos
Lección 1 • Traits de la Librería Estándar en Profundidad
Cubre los traits Iterator, From/Into, Display y de sobrecarga de operadores. Integra tipos personalizados sin problemas con el ecosistema de la librería estándar.
Lección 2 • Características Avanzadas del Sistema de Tipos
Introduce tipos asociados, genéricos constantes (const generics) y el patrón newtype. Permite API precisas y expresivas que previenen el uso incorrecto en tiempo de compilación.
Lección 3 • Definición e Implementación de Traits
Cubre definiciones de traits, métodos predeterminados e implementación de traits en tipos personalizados. Permite el comportamiento polimórfico central para el diseño idiomático en Rust.
Lección 4 • Objetos Trait y Despacho Dinámico
Explica dyn Trait, reglas de seguridad de objetos y las ventajas y desventajas del costo de la vtable. Permite el polimorfismo en tiempo de ejecución cuando el despacho estático es insuficiente.
Lección 5 • Funciones y Estructuras Genéricas
Enseña parámetros de tipo genérico, límites de trait (trait bounds) y cláusulas where. Permite escribir algoritmos que funcionan en múltiples tipos concretos.
Capítulo 4OcultarOcultar detallesVer detallesManejo de Errores y Diseño Robusto de Código
Manejo de Errores y Diseño Robusto de Código
Lección 1 • Tipos de Error Personalizados
Explica implementar std::error::Error, errores basados en enumeraciones y contexto de error. Produce errores descriptivos y estructurados adecuados para código de librerías y aplicaciones.
Lección 2 • Pánicos (Panics), Desenrollado (Unwinding) y Afirmaciones (Assertions)
Cubre panic!, assert!, catch_unwind y las estrategias de abortar vs. desenrollar. Aclara cuándo son aceptables los pánicos y cómo contenerlos.
Lección 3 • Combinadores y el Operador ?
Enseña map, and_then, unwrap_or y el operador de propagación ?. Permite cadenas de propagación de errores concisas y legibles en funciones reales.
Lección 4 • Fundamentos de Option y Result
Cubre la semántica de Option<T> y Result<T, E>, los riesgos de unwrap y patrones de acceso seguro. Establece la base para todas las estrategias de manejo de errores en el capítulo.
Capítulo 5OcultarOcultar detallesVer detallesClosures, Iteradores y Patrones Funcionales
Closures, Iteradores y Patrones Funcionales
Lección 1 • Recolección y Consumo de Iteradores
Cubre collect, fold, reduce, sum y partition. Convierte cadenas perezosas (lazy chains) en resultados concretos y valores agregados.
Lección 2 • Iteradores Personalizados y Patrones Avanzados
Implementa el trait Iterator en tipos personalizados y explora patrones estilo generador. Extiende la composición de iteradores a estructuras de datos de dominio específico.
Lección 3 • Closures y Modos de Captura
Explica la sintaxis de closures, los traits Fn/FnMut/FnOnce y la captura por referencia vs. move. Permite pasar comportamientos como valores a través del código base.
Lección 4 • Adaptadores de Iteradores Esenciales
Enseña map, filter, flat_map, zip, enumerate y take. Construye el vocabulario de adaptadores necesario para pipelines de procesamiento de datos del mundo real.
Lección 5 • El Trait Iterator y la Evaluación Perezosa
Cubre el trait Iterator, el método next() y la semántica de evaluación perezosa. Muestra cómo los iteradores se componen sin asignaciones intermedias.
Capítulo 6OcultarOcultar detallesVer detallesConcurrencia y Programación Asíncrona
Concurrencia y Programación Asíncrona
Lección 1 • Hilos y Estado Compartido
Cubre thread::spawn, join handles, Send/Sync traits, y Mutex-guarded state. Establece patrones seguros de multi-threading reforzados por el compilador.
Lección 2 • Patrones de Concurrencia y Errores Comunes
Examina deadlocks (bloqueos mutuos), starvation (inanición), cancelación asíncrona y concurrencia estructurada. Desarrolla el criterio para elegir el modelo de concurrencia correcto por caso de uso.
Lección 3 • Paso de Mensajes con Canales
Enseña los canales mpsc, patrones de múltiples productores y el diseño de actores basado en canales. Proporciona una alternativa al estado compartido para la comunicación entre hilos.
Lección 4 • El Runtime de Tokio en la Práctica
Cubre la configuración de Tokio, la creación de tareas, select! y primitivas de E/S asíncrona. Conecta la teoría asíncrona con el runtime de producción más utilizado.
Lección 5 • Fundamentos de Async/Await
Introduce el trait Future, las funciones async fn, la sintaxis .await y el modelo de ejecutor. Permite escribir código de E/S sin bloqueo que se lee como código síncrono.
Capítulo 7OcultarOcultar detallesVer detallesProgramación de Sistemas y Rust Inseguro (Unsafe)
Programación de Sistemas y Rust Inseguro (Unsafe)
Lección 1 • Punteros Crudos (Raw Pointers) y Bloques Unsafe
Cubre *const T, *mut T, las reglas para desreferenciar y el alcance de los bloques unsafe. Establece el principio de huella mínima para el código inseguro.
Lección 2 • Diseño de Memoria y Asignación
Explica los atributos repr, la alineación, el relleno (padding) y el API del asignador global. Permite un control preciso sobre la disposición de los datos para rendimiento y compatibilidad con FFI.
Lección 3 • Ensamblador en Línea (Inline Assembly) e Intrínsecos
Cubre la sintaxis del macro asm!, las restricciones de registro y los intrínsecos SIMD. Permite optimizaciones a nivel de hardware donde la salida del compilador es insuficiente.
Lección 4 • Abstracciones Seguras sobre Código Unsafe
Demuestra cómo encapsular partes internas inseguras (unsafe) detrás de API públicas seguras. Produce componentes reutilizables y auditables que preservan las garantías de seguridad de Rust externamente.
Lección 5 • Interfaz de Funciones Externas (Foreign Function Interface)
Enseña bloques extern, enlace ABI de C y diseño de envoltorios seguros. Permite llamar a librerías de C y exponer funciones de Rust a consumidores de C.
Capítulo 8OcultarOcultar detallesVer detallesConstrucción de Aplicaciones Rust para Producción
Construcción de Aplicaciones Rust para Producción
Lección 1 • Configuración, Logging y Observabilidad
Introduce la gestión de configuración, el registro estructurado con tracing y la emisión de métricas. Proporciona la visibilidad en tiempo de ejecución esencial para operar servicios en producción.
Lección 2 • Perfilamiento de Rendimiento y Optimización
Cubre benchmarks con criterion, flamegraphs, perfilamiento de asignación y sugerencias al compilador. Identifica y elimina cuellos de botella con técnicas basadas en datos.
Lección 3 • Empaquetado, Despliegue y Publicación
Cubre la compilación cruzada, la contenerización con Docker, la reducción del tamaño del binario y los perfiles de publicación (release). Produce artefactos desplegables optimizados para los entornos de destino.
Lección 4 • Estrategias de Pruebas e Integración Continua (CI)
Enseña pruebas unitarias, pruebas de integración, pruebas basadas en propiedades y pipelines de CI. Garantiza que la corrección del código se verifique automáticamente en cada cambio.
Lección 5 • Arquitectura de Proyectos y Patrones de Diseño
Cubre la arquitectura en capas, la inyección de dependencias y el patrón typestate. Traduce el sistema de tipos de Rust en una estructura de aplicación escalable.
Tu certificado válido de finalización
Este curso es para ti:
Desarrolladores backend que desean reemplazar lenguajes más lentos con Rust.
Programadores de sistemas que migran de C o C++ a herramientas modernas.
Programadores aficionados listos para abordar un lenguaje con verdaderas garantías de rendimiento.
Ingenieros de DevOps que buscan escribir herramientas internas confiables y de bajo consumo de recursos.
Estudiantes de ciencias de la computación que buscan una ventaja en entrevistas técnicas competitivas.
Personas en transición de carrera desde entornos de scripting que apuntan a roles de software de alto rendimiento.
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 Perú?
¿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




















