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 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í.

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

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

Capítulo 1Ver detalles

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

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

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

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

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

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

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

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.

Certificación

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...
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 Prompts

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