
Curso de programación en Rust
Dominá Rust de cero a cien — desde ownership y lifetimes hasta concurrencia asíncrona y programación de sistemas. Este entrenamiento integral cubre todo lo que un desarrollador en actividad necesita para escribir código Rust seguro, rápido y listo para producción. Ya sea que estés construyendo APIs web, herramientas CLI o software de sistemas de bajo nivel, este curso te lleva hasta ahí.
Lo que vas a aprender:
Vas a construir una base sólida en la sintaxis central de Rust, el modelo de ownership y el sistema de tipos antes de avanzar hacia traits, genéricos y manejo de errores. Vas a 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 a través de Rust inseguro y FFI. El curso también cubre desarrollo web con Axum y SQLx, perfilado de rendimiento, creación de macros y publicación de crates. Al finalizar, vas a tener las habilidades para diseñar, testear y lanzar aplicaciones Rust reales 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 ClasesDuració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
Clase 1 • Fundamentos del flujo de control
Enseña estructuras if/else, bucles y coincidencia basada en patrones. Permite a los estudiantes dirigir la ejecución del programa mediante ramificaciones e iteraciones.
Clase 2 • Funciones y módulos
Define firmas de funciones, tipos de retorno y visibilidad de módulos. Establece patrones de organización del código que se usan a lo largo del curso.
Clase 3 • Sintaxis central y tipos de datos
Presenta variables, tipos escalares y tipos compuestos. Construye el vocabulario necesario para expresar lógica en cada capítulo posterior.
Clase 4 • Cargo y estructura de proyectos
Explora comandos de Cargo, Cargo.toml y la disposición del espacio de trabajo. Los estudiantes adquieren las habilidades de gestión de proyectos requeridas para todos los ejercicios prácticos.
Clase 5 • Instalación y configuración de Rust
Cubre rustup, gestión del toolchain e integración con el IDE. Proporciona la base para todo el trabajo posterior de compilación y proyectos.
Capítulo 2OcultarOcultar detallesVer detallesOwnership, borrowing y lifetimes
Ownership, borrowing y lifetimes
Clase 1 • Referencias y borrowing
Presenta referencias compartidas y mutables con reglas de préstamo. Los estudiantes aprenden a pasar datos sin transferir la propiedad.
Clase 2 • Reglas de ownership y semántica de movimiento
Explica el invariante de único dueño y el movimiento de valores. Aborda directamente los errores de compilación más comunes para principiantes en Rust.
Clase 3 • Anotaciones de lifetime
Enseña la sintaxis explícita de lifetimes para funciones y structs. Permite a los estudiantes resolver errores de lifetime que el compilador no puede inferir automáticamente.
Clase 4 • Tipos slice
Cubre string slices y array slices como vistas de referencias. Conecta los conceptos de borrowing con patrones prácticos de acceso a datos.
Clase 5 • Patrones comunes de ownership
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
Clase 1 • Métodos y funciones asociadas
Agrega comportamiento a los structs mediante bloques impl y constructores. Conecta el modelado de datos con la encapsulación al estilo orientado a objetos en Rust.
Clase 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.
Clase 3 • Coincidencia de patrones avanzada
Extiende match a la desestructuración, guardas y vinculación. Permite un manejo conciso y exhaustivo de formas de datos complejas.
Clase 4 • Enums y el tipo Option
Presenta 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.
Clase 5 • if let y while let
Presenta constructos concisos de coincidencia de patrón único. Reduce el código repetitivo cuando solo una variante requiere manejo.
Capítulo 4OcultarOcultar detallesVer detallesTraits, genéricos y polimorfismo
Traits, genéricos y polimorfismo
Clase 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.
Clase 2 • Límites de traits y cláusulas where
Restringe los genéricos con límites de traits y sintaxis where. Permite al compilador verificar que los tipos genéricos soportan las operaciones requeridas.
Clase 3 • Funciones y structs genéricos
Presenta parámetros de tipo para funciones, structs y enums. Permite escribir algoritmos que operan sobre cualquier tipo compatible.
Clase 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 adecuada para cada escenario de diseño.
Clase 5 • Definición e implementación de traits
Cubre la declaración de traits, métodos predeterminados e implementación. Establece el mecanismo de abstracción principal utilizado en todas las librerías de Rust.
Capítulo 5OcultarOcultar detallesVer detallesManejo de errores y tipos Result
Manejo de errores y tipos Result
Clase 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.
Clase 2 • Tipos de error personalizados
Cubre definir enums de error, implementar std::error::Error y conversiones. Permite a las librerías exponer información de error significativa y estructurada.
Clase 3 • Manejo de errores en aplicaciones
Presenta anyhow para la agregación de errores a nivel de aplicación y el contexto. Une los errores tipados al estilo librería con los mensajes de diagnóstico orientados al usuario.
Clase 4 • Panic y errores irrecuperables
Explica panic!, assert! y el desenrollado del stack. Establece cuándo es apropiado crashear en lugar de propagar errores.
Clase 5 • Result<T, E> y errores recuperables
Presenta 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 cierres
Colecciones, iteradores y cierres
Clase 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 del dominio.
Clase 2 • Cierres y captura
Explica la sintaxis de los cierres, los modos de captura y las familias de traits Fn. Permite pasar comportamiento como valores a iteradores y funciones de orden superior.
Clase 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 Rust reales.
Clase 4 • Consumir iteradores y collect
Cubre los consumidores fold, sum, count, collect y partition. Convierte pipelines perezosos en resultados y colecciones concretas.
Clase 5 • El trait Iterator y los adaptadores
Presenta el trait Iterator, la evaluación perezosa y el encadenamiento de adaptadores. Los estudiantes componen pipelines de datos expresivos sin asignaciones intermedias.
Capítulo 7OcultarOcultar detallesVer detallesConcurrencia y programación asíncrona
Concurrencia y programación asíncrona
Clase 1 • Paso de mensajes con canales
Enseña canales mpsc para la comunicación entre hilos. Demuestra el modelo de concurrencia de paso de mensajes como alternativa al estado compartido.
Clase 2 • Fundamentos del runtime de Tokio
Cubre la configuración del ejecutor Tokio, las tareas asíncronas y las primitivas de I/O asíncrona. Permite a los estudiantes construir aplicaciones de red reales con el runtime asincrónico dominante.
Clase 3 • Primitivas de sincronización
Examina el Mutex asincrónico de Tokio, RwLock, Semaphore y Notify. Dota a los estudiantes para coordinar tareas concurrentes sin carreras de datos.
Clase 4 • Fundamentos de async/await
Presenta el trait Future, las funciones async y la sintaxis .await. Proporciona el modelo conceptual para la I/O no bloqueante en aplicaciones Rust.
Clase 5 • Hilos y estado compartido
Cubre thread::spawn, join handles y datos compartidos protegidos por Mutex. Introduce los traits Send y Sync que imponen la seguridad de hilos en tiempo de compilación.
Capítulo 8OcultarOcultar detallesVer detallesProgramación de sistemas y Rust inseguro
Programación de sistemas y Rust inseguro
Clase 1 • Bloques y funciones unsafe
Explica los cinco superpoderes unsafe y cómo encapsularlos. Los estudiantes aprenden a minimizar la superficie insegura y a documentar las invariantes de seguridad.
Clase 2 • Interfaz de funciones foráneas (FFI)
Cubre los bloques extern, la ABI de C y la llamada a librerías de C desde Rust. Permite la integración con bases de código nativo y librerías del sistema existentes.
Clase 3 • Punteros crudos y disposición de memoria
Presenta *const T y *mut T, la aritmética de punteros y la alineación de memoria. Proporciona la base para la FFI y la gestión manual de memoria.
Clase 4 • Asignadores personalizados y gestión de memoria
Presenta el trait GlobalAlloc, jemalloc y la asignación por arena. Permite un control detallado de la memoria para aplicaciones críticas en rendimiento.
Clase 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 implementar Rust en microcontroladores y sistemas con recursos limitados.
Tu certificado válido de finalización
Este curso es para ti:
Desarrollador 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 fuertes restricciones de seguridad.
Estudiante de ciencias de la computación: está desarrollando habilidades fundamentales en conceptos de programación a nivel de sistemas.
Persona en cambio de carrera: está migrando de roles de scripting a 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... 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 Chile?
¿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




















