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ónDuración
Te damos la bienvenida5 minutos
Hola, Mundo15 minutos
Tipos y valores40 minutos
Básicos de Control de Flujo40 minutos
  • Día 1 por la tarde (2 horas y 35 minutos, incluidos los descansos)
SecciónDuración
Tuplas y arrays35 minutos
Referencias55 minutos
Tipos definidos por el usuario50 minutos
  • Día 2 por la mañana (2 horas y 10 minutos, incluidos los descansos)
SecciónDuración
Te damos la bienvenida3 minutos
Correspondencia de Patrones1 hora
Métodos y Traits50 minutos
  • Día 2 por la tarde (3 horas y 15 minutos, incluidos los descansos)
SecciónDuración
Genéricos45 minutos
Tipos de la Biblioteca Estándar1 hora
Traits de la biblioteca estándar1 hora y 10 minutos
  • Día 3 por la mañana (2 horas y 20 minutos, incluidos los descansos)
SecciónDuración
Te damos la bienvenida3 minutos
Manejo de Memoria1 hora
Punteros inteligentes55 minutos
  • Día 3 por la tarde (1 hora y 55 minutos, incluidos los descansos)
SecciónDuración
Préstamos (Borrowing)55 minutos
Duraciones de vida50 minutos
  • Día 4 por la mañana (2 horas y 40 minutos, incluidos los descansos)
SecciónDuración
Te damos la bienvenida3 minutos
Iteradores45 minutos
Módulos40 minutos
Probando45 minutos
  • Día 4 por la tarde (2 horas y 15 minutos, incluidos los descansos)
SecciónDuración
Manejo de Errores1 hora
Unsafe Rust1 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ónDuración
Hilos30 minutos
Canales20 minutos
Send y Sync15 minutos
Estado compartido30 minutos
Ejercicios1 hora y 10 minutos
  • Por la tarde (3 horas y 20 minutos, incluidos los descansos)
SecciónDuración
Conceptos básicos de Async30 minutos
Canales y Control de Flujo20 minutos
Inconvenientes55 minutos
Ejercicios1 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.