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

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

Dedika para empresas

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.

Haz clic aquí

Contenido del curso

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

Capítulo 1Ver detalles

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

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

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

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

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

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

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

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.

Certificación

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