Elige tu idioma
Curso de programación en Rust
Más de 2 millones de estudiantes en todo el mundo

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.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

8 Capítulos • 38 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

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 2Ver detalles

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 3Ver detalles

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 4Ver detalles

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 5Ver detalles

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 6Ver detalles

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 7Ver detalles

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 8Ver detalles

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.

Certificación

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...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

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