Estructura del curso
Esta página está dirigida al instructor del curso.
Fundamentos de Rust
Los primeros cuatro días forman los Fundamentos de Rust. ¡Los días son muy intensos y cubrimos mucho terreno!
Horario del curso:
- Día 1 por la mañana (2 horas y 5 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Te damos la bienvenida | 5 minutos |
Hola, Mundo | 15 minutos |
Tipos y valores | 40 minutos |
Básicos de Control de Flujo | 40 minutos |
- Día 1 por la tarde (2 horas y 35 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Tuplas y arrays | 35 minutos |
Referencias | 55 minutos |
Tipos definidos por el usuario | 50 minutos |
- Día 2 por la mañana (2 horas y 10 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Te damos la bienvenida | 3 minutos |
Correspondencia de Patrones | 1 hora |
Métodos y Traits | 50 minutos |
- Día 2 por la tarde (3 horas y 15 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Genéricos | 45 minutos |
Tipos de la Biblioteca Estándar | 1 hora |
Traits de la biblioteca estándar | 1 hora y 10 minutos |
- Día 3 por la mañana (2 horas y 20 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Te damos la bienvenida | 3 minutos |
Manejo de Memoria | 1 hora |
Punteros inteligentes | 55 minutos |
- Día 3 por la tarde (1 hora y 55 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Préstamos (Borrowing) | 55 minutos |
Duraciones de vida | 50 minutos |
- Día 4 por la mañana (2 horas y 40 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Te damos la bienvenida | 3 minutos |
Iteradores | 45 minutos |
Módulos | 40 minutos |
Probando | 45 minutos |
- Día 4 por la tarde (2 horas y 15 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Manejo de Errores | 1 hora |
Unsafe Rust | 1 hora y 5 minutos |
Información más detallada
Además de la clase de 4 días sobre los fundamentos de Rust, abordamos algunos temas más especializados:
Rust en Android
Rust en Android es un curso de medio día sobre el uso de Rust para el desarrollo de la plataforma Android. En él se incluye la interoperabilidad con C, C++ y Java.
Necesitarás conseguir el AOSP. Descarga el repositorio del curso en el mismo ordenador y mueve el directorio src/android/
a la raíz del AOSP. De esta forma, el sistema de compilación de Android verá los archivos Android.bp
en src/android/
.
Asegúrate que adb sync
funciona con tu emulador o en un dispositivo físico y haz pre-build en todos los ejemplos de Android usando src/android/build_all.sh
. Lee el script para ver los comandos que corren y asegúrate que funcionan cuando lo corres a mano.
Rust en Chromium
Rust en Chromium es una clase en profundidad de medio día sobre el uso de Rust como parte del navegador Chromium. Incluye el uso de Rust en el sistema de compilación gn
de Chromium e incorpora bibliotecas de terceros ("crates") e interoperabilidad en C++.
Deberás poder compilar Chromium: [recomendamos] una compilación de depuración de componentes (../chromium/setup.md) por cuestiones de velocidad, pero cualquier compilación funcionará de forma correcta. Asegúrate de que puedes ejecutar el navegador Chromium que has compilado.
Bare Metal Rust
Bare Metal Rust es una clase de un día sobre cómo usar Rust para el desarrollo bare-metal (insertado). Se tratarán tanto microcontroladores como procesadores de aplicaciones.
Para la parte de los microcontroladores, necesitarás comprar con antelación la segunda versión de la placa programable BBC micro:bit. Todo el mundo deberá instalar una serie de paquetes, tal como se describe en la página de bienvenida.
Concurrencia en Rust
Concurrencia en profundidad es una clase de un día sobre la concurrencia clásica y la concurrencia async
/await
.
Necesitarás configurar un nuevo crate, y descargar y preparar las dependencias. A continuación, podrás copiar y pegar los ejemplos en src/main.rs
para experimentar con ellos:
cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run
Horario del curso:
- Mañana (3 horas y205 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Hilos | 30 minutos |
Canales | 20 minutos |
Send y Sync | 15 minutos |
Estado compartido | 30 minutos |
Ejercicios | 1 hora y 10 minutos |
- Por la tarde (3 horas y 20 minutos, incluidos los descansos)
Sección | Duración |
---|---|
Conceptos básicos de Async | 30 minutos |
Canales y Control de Flujo | 20 minutos |
Inconvenientes | 55 minutos |
Ejercicios | 1 hora y 10 minutos |
Formato
El curso está diseñado para ser muy interactivo, por lo que te recomendamos que dejes que las preguntas guíen el aprendizaje de Rust.