Estrutura do Curso

Esta página é para o instrutor do curso.

Fundamentos do Rust

Os primeiros quatro dias compõem os Fundamentos do Rust. Os dias são rápidos e cobrimos bastante counteúdo!

Agenda do curso:

  • Dia 1 Manhã (2 horas e 5 minutos, incluindo intervalos)
SegmentDuration
Bem-vindos5 minutes
Olá, Mundo15 minutes
Tipos e Valores40 minutes
Fundamentos de Controle de Fluxo40 minutes
  • Dia 1 Tarde (2 horas e 35 minutos, incluindo intervalos)
SegmentDuration
Tuplas e Matrizes35 minutes
Referências55 minutes
Tipos Definidos pelo Usuário50 minutes
  • Dia 2 Manhã (2 horas and 10 minutos, incluindo intervalos)
SegmentDuration
Bem-vindos3 minutes
Correspondência de Padrões1 hour
Métodos e Traits50 minutes
  • Dia 2 Tarde (3 horas e 15 minutos, incluindo intervalos)
SegmentDuration
Genéricos (Generics)45 minutes
Tipos da Biblioteca Padrão1 hour
Traits da Biblioteca Padrão1 hour and 10 minutes
  • Dia 3 Manhã (2 horas and 20 minutos, incluindo intervalos)
SegmentDuration
Bem-vindos3 minutes
Gerenciamento de Memória1 hour
Ponteiros Inteligentes (Smart Pointers)55 minutes
  • Dia 3 Tarde (1 hora and 55 minutos, incluindo intervalos)
SegmentDuration
Empréstimo (Borrowing)55 minutes
Tempos de Vida (Lifetimes)50 minutes
  • Dia 4 Manhã (2 horas and 40 minutos, incluindo intervalos)
SegmentDuration
Bem-vindos3 minutes
Iteradores45 minutes
Módulos40 minutes
Testes45 minutes
  • Dia 4 Tarde (2 horas and 15 minutos, incluindo intervalos)
SegmentDuration
Tratamento de Erros1 hour
Rust Inseguro (Unsafe)1 hour and 5 minutes

Análises Detalhadas

Além do curso de 4 dias sobre Fundamentos de Rust, nós abordamos alguns tópicos mais especializados:

Rust para Android

O Rust para Android é um curso de meio dia sobre o uso de Rust para o desenvolvimento na plataforma Android. Isso inclui interoperabilidade com C, C++ e Java.

Você precisará de um checkout do AOSP. Faça um checkout do repositório do curso no mesmo computador e mova o diretório src/android/ para a raiz do seu checkout do AOSP. Isso garantirá que o sistema de compilação do Android veja os arquivos Android.bp em src/android/.

Certifique-se de que adb sync funcione com seu emulador ou dispositivo físico e pré-compile todos os exemplos do Android usando src/android/build_all.sh. Leia o roteiro para ver os comandos executados e verifique se eles funcionam quando você os executa manualmente.

Rust para Chromium

O Rust para Chromium é um curso de meio dia sobre o uso de Rust como parte do navegador Chromium. Ele inclui o uso de Rust no sistema de compilação gn do Chromium, a inclusão de bibliotecas de terceiros (“crates”) e interoperabilidade com C++.

Você precisará ser capaz de compilar o Chromium — uma compilação de componentes de depuração é recomendada para velocidade, mas qualquer compilação funcionará. Certifique-se de que você possa executar o navegador Chromium que você compilou.

Rust Bare-Metal

O Rust Bare-Metal é uma aula de um dia inteiro sobre o uso de Rust para o desenvolvimento bare-metal (sistema embarcado). Tanto micro-controladores quanto processadores de aplicação são cobertos.

Para a parte do micro-controlador, você precisará comprar a placa de desenvolvimento BBC micro:bit v2 com antecedência. Todos precisarão instalar vários pacotes, conforme descrito na página inicial.

Concorrência em Rust

Concorrência em Rust é uma aula de um dia sobre concorrência clássica e concorrência async/await.

Você precisará de um novo crate configurado e as dependências baixadas e prontas para uso. Você pode então copiar/colar os exemplos para src/main.rs para experimentá-los:

cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run

Agenda do curso:

  • Morning (3 hours and 20 minutes, including breaks)
SegmentDuration
Threads30 minutes
Canais (Channels)20 minutes
Send e Sync15 minutes
Estado Compartilhado30 minutes
Exercícios1 hour and 10 minutes
  • Afternoon (3 hours and 20 minutes, including breaks)
SegmentDuration
Fundamentos de Async (Assincronicidade)30 minutes
Canais e Controle de Fluxo20 minutes
Armadilhas55 minutes
Exercícios1 hour and 10 minutes

Formato

O curso foi projetado para ser bastante interativo e recomendamos deixar as perguntas conduzirem a exploração do Rust!