
Curso de programación en Rust
Domine Rust desde cero: desde la propiedad y los tiempos de vida hasta la concurrencia asíncrona y la programación de sistemas. Este entrenamiento integral cubre todo lo que un desarrollador en activo necesita para escribir código Rust seguro, rápido y listo para producción. Ya sea que esté construyendo APIs web, herramientas de CLI o software de sistemas de bajo nivel, este curso lo llevará hasta allí.
Qué vas a aprender:
Usted construirá una base sólida en la sintaxis central de Rust, su modelo de propiedad y el sistema de tipos antes de avanzar hacia traits, genéricos y manejo de errores. Aprenderá a procesar datos con iteradores y closures, a escribir programas concurrentes usando hilos de ejecución y async/await con Tokio, y a interactuar con recursos del sistema mediante Rust inseguro y FFI. El curso también cubre desarrollo web con Axum y SQLx, perfilamiento de rendimiento, autoría de macros y publicación de crates. Al finalizar, usted tendrá las habilidades para diseñar, probar y entregar aplicaciones reales en Rust con confianza.
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 detallesFundamentos de Rust y Configuración de Herramientas
Fundamentos de Rust y Configuración de Herramientas
Lección 1 • Fundamentos del Flujo de Control
Enseña if/else, ciclos y coincidencia basada en patrones. Permite a los estudiantes dirigir la ejecución del programa mediante bifurcaciones e iteraciones.
Lección 2 • Funciones y Módulos
Define firmas de funciones, tipos de retorno y visibilidad de módulos. Establece los patrones de organización del código que se usarán a lo largo del curso.
Lección 3 • Sintaxis Básica y Tipos de Datos
Introduce variables, tipos escalares y tipos compuestos. Construye el vocabulario necesario para expresar la lógica en cada capítulo posterior.
Lección 4 • Cargo y Estructura del Proyecto
Explora los comandos de Cargo, Cargo.toml y la organización del espacio de trabajo. Los estudiantes adquieren las habilidades de gestión de proyectos requeridas para todos los ejercicios prácticos.
Lección 5 • Instalación y Configuración de Rust
Cubre rustup, la gestión de toolchains y la integración con el IDE. Proporciona la base para todo el trabajo posterior de compilación y proyectos.
Capítulo 2OcultarOcultar detallesVer detallesPropiedad, Préstamo y Tiempos de Vida
Propiedad, Préstamo y Tiempos de Vida
Lección 1 • Referencias y Préstamo
Introduce referencias compartidas y mutables con las reglas de préstamo. Los estudiantes aprenden a pasar datos sin transferir la propiedad.
Lección 2 • Reglas de Propiedad y Semántica de Movimiento
Explica la invariante de propietario único y los movimientos de valor. Aborda directamente los errores de compilación más comunes para principiantes en Rust.
Lección 3 • Anotaciones de Tiempo de Vida
Enseña la sintaxis explícita de tiempos de vida para funciones y estructuras. Permite a los estudiantes resolver errores de tiempo de vida que el compilador no puede inferir automáticamente.
Lección 4 • Tipos Slice
Cubre los slices de cadena y de arreglo como vistas de referencia. Conecta los conceptos de préstamo con patrones prácticos de acceso a datos.
Lección 5 • Patrones Comunes de Propiedad
Examina Rc, RefCell y la mutabilidad interior para propiedad compartida. Prepara a los estudiantes para escenarios del mundo real donde la propiedad única es insuficiente.
Capítulo 3OcultarOcultar detallesVer detallesStructs, Enums y Coincidencia de Patrones
Structs, Enums y Coincidencia de Patrones
Lección 1 • Métodos y Funciones Asociadas
Agrega comportamiento a los structs mediante bloques impl y constructores. Une el modelado de datos con la encapsulación al estilo orientado a objetos en Rust.
Lección 2 • Definición y Uso de Structs
Cubre structs con nombre, tupla y unitarios con acceso a campos. Proporciona la herramienta principal para agrupar datos relacionados a lo largo del curso.
Lección 3 • Coincidencia Avanzada de Patrones
Extiende match a la desestructuración, guardas y vinculación. Permite el manejo conciso y exhaustivo de formas de datos complejas.
Lección 4 • Enums y el Tipo Option
Introduce enums con variantes de datos y el tipo Option<T>. Elimina los errores de puntero nulo al codificar la ausencia explícitamente en el sistema de tipos.
Lección 5 • if let y while let
Introduce constructos concisos de coincidencia de un solo patrón. Reduce el código repetitivo cuando solo se necesita manejar una variante.
Capítulo 4OcultarOcultar detallesVer detallesTraits, Genéricos y Polimorfismo
Traits, Genéricos y Polimorfismo
Lección 1 • Traits de la Biblioteca Estándar
Examina Display, Debug, From, Into, Iterator y Clone. La integración de estos traits hace que los tipos personalizados interoperen con todo el ecosistema.
Lección 2 • Límites de Trait y Cláusulas Where
Restringe los genéricos con límites de trait y sintaxis where. Permite al compilador verificar que los tipos genéricos soportan las operaciones requeridas.
Lección 3 • Funciones y Structs Genéricos
Introduce parámetros de tipo para funciones, structs y enums. Permite escribir algoritmos que operan sobre cualquier tipo compatible.
Lección 4 • Despacho Dinámico con Objetos Trait
Contrasta el despacho estático con dyn Trait para polimorfismo en tiempo de ejecución. Los estudiantes eligen la estrategia de despacho correcta para cada escenario de diseño.
Lección 5 • Definición e Implementación de Traits
Cubre la declaración de traits, métodos predeterminados e implementación. Establece el mecanismo principal de abstracción utilizado en todas las librerías de Rust.
Capítulo 5OcultarOcultar detallesVer detallesManejo de Errores y Tipos Result
Manejo de Errores y Tipos Result
Lección 1 • El Operador ? y la Propagación
Enseña el operador ? para la propagación concisa de errores en funciones. Reduce drásticamente el código repetitivo en funciones que llaman a múltiples operaciones falibles.
Lección 2 • Tipos de Error Personalizados
Covers defining error enums, implementing std::error::Error, and conversions. Enables libraries to expose meaningful, structured error information.
Lección 3 • Manejo de Errores en Aplicaciones
Introduce anyhow para la agregación de errores y el contexto a nivel de aplicación. Une los errores tipados al estilo de librería con mensajes de diagnóstico para el usuario.
Lección 4 • Pánico y Errores Irrecuperables
Explica panic!, assert! y el desenrollado de la pila. Establece cuándo es apropiado fallar frente a cuándo se deben propagar los errores.
Lección 5 • Result<T, E> y Errores Recuperables
Introduce las variantes de Result, el manejo basado en match y el encadenamiento de métodos. Proporciona la base para todas las operaciones falibles en Rust.
Capítulo 6OcultarOcultar detallesVer detallesColecciones, Iteradores y Closures
Colecciones, Iteradores y Closures
Lección 1 • Iteradores Personalizados
Guía a los estudiantes en la implementación de Iterator en structs personalizados. Profundiza la comprensión del sistema de traits y permite la iteración específica de dominio.
Lección 2 • Closures y Captura
Explica la sintaxis de los closures, los modos de captura y las familias de traits Fn. Permite pasar comportamiento como valores a iteradores y funciones de orden superior.
Lección 3 • Vec, HashMap y HashSet
Cubre la creación, inserción, búsqueda y eliminación para las colecciones principales. Proporciona las estructuras de datos utilizadas en la mayoría de los programas reales de Rust.
Lección 4 • Consumo de Iteradores y Collect
Cubre los consumidores fold, sum, count, collect y partition. Convierte pipelines perezosos en resultados concretos y colecciones.
Lección 5 • El Trait Iterator y los Adaptadores
Introduce el trait Iterator, la evaluación perezosa y el encadenamiento de adaptadores. Los estudiantes componen pipelines de datos expresivos sin asignaciones de memoria intermedias.
Capítulo 7OcultarOcultar detallesVer detallesConcurrencia y Programación Asíncrona
Concurrencia y Programación Asíncrona
Lección 1 • Paso de Mensajes con Canales
Enseña canales mpsc para la comunicación entre hilos. Demuestra el modelo de concurrencia por paso de mensajes como alternativa al estado compartido.
Lección 2 • Fundamentos del Runtime Tokio
Cubre la configuración del ejecutor Tokio, tareas asíncronas y primitivas de E/S asíncrona. Permite a los estudiantes construir aplicaciones de red reales con el runtime asíncrono dominante.
Lección 3 • Primitivas de Sincronización
Examina Mutex, RwLock, Semaphore y Notify asíncronos de Tokio. Equipa a los estudiantes para coordinar tareas concurrentes sin condiciones de carrera.
Lección 4 • Fundamentos de Async/Await
Introduce el trait Future, async fn y la sintaxis .await. Proporciona el modelo conceptual para E/S no bloqueante en aplicaciones Rust.
Lección 5 • Hilos y Estado Compartido
Covers thread::spawn, join handles, and Mutex-protected shared data. Introduces the Send and Sync traits that enforce thread safety at compile time.
Capítulo 8OcultarOcultar detallesVer detallesProgramación de Sistemas y Rust Inseguro
Programación de Sistemas y Rust Inseguro
Lección 1 • Bloques y Funciones Inseguros
Explica los cinco superpoderes inseguros y cómo encapsularlos. Los estudiantes aprenden a minimizar la superficie insegura y a documentar las invariantes de seguridad.
Lección 2 • Interfaz de Funciones Foráneas
Cubre bloques extern, C ABI y el llamado a librerías C desde Rust. Permite la integración con bases de código nativas existentes y librerías del sistema.
Lección 3 • Punteros Crudos y Diseño de Memoria
Introduce *const T y *mut T, aritmética de punteros y alineación de memoria. Proporciona la base para FFI y la gestión manual de memoria.
Lección 4 • Asignadores Personalizados y Gestión de Memoria
Introduce el trait GlobalAlloc, jemalloc y la asignación por arena. Permite un control detallado de la memoria para aplicaciones de rendimiento crítico.
Lección 5 • Entornos Embebidos y No-std
Cubre el atributo no_std, la librería core y los objetivos bare-metal. Prepara a los estudiantes para desplegar Rust en microcontroladores y sistemas con recursos limitados.
Tu certificado válido de finalización
Este curso es para ti:
Desarrollador de backend: busca alternativas más rápidas y seguras a los lenguajes con recolección de basura.
Programador de C o C++: busca herramientas modernas y garantías de seguridad de memoria en tiempo de compilación.
Ingeniero de sistemas embebidos: necesita un lenguaje de bajo nivel con restricciones de seguridad sólidas.
Estudiante de ciencias de la computación: está desarrollando habilidades fundamentales en conceptos de programación a nivel de sistemas.
Persona en transición de carrera: está migrando de roles de scripting hacia ingeniería compilada y enfocada en el rendimiento.
Ingeniero de DevOps o infraestructura: está automatizando y optimizando herramientas con un lenguaje compilado.
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




















