課程架構

本頁面的適用對象為課程講師。

Rust 基礎知識

The first four days make up Rust Fundamentals. The days are fast paced and we cover a lot of ground!

Course schedule:

  • 第 1 天上午 (2 小時 10 分鐘,含休息)
SegmentDuration
歡迎5 minutes
Hello, World15 minutes
型別和值45 minutes
基本的控制流程概念40 minutes
  • 第 1 天下午 (2 小時 15 分鐘,含休息)
SegmentDuration
元組和陣列35 minutes
參照35 minutes
使用者定義的型別50 minutes
  • 第 2 天上午 (2 小時 50 分鐘,含休息)
SegmentDuration
歡迎3 minutes
模式配對1 hour
Read 和 Write45 minutes
泛型40 minutes
  • 第 2 天下午 (3 小時 10 分鐘,含休息)
SegmentDuration
標準函式庫1 hour and 20 minutes
標準函式庫1 hour and 40 minutes
  • 第 3 天上午 (2 小時 20 分鐘,含休息)
SegmentDuration
歡迎3 minutes
記憶體管理1 hour
智慧指標55 minutes
  • 第 3 天下午 (2 小時 10 分鐘,含休息)
SegmentDuration
借用50 minutes
生命週期1 hour and 10 minutes
  • 第 4 天上午 (2 小時 40 分鐘,含休息)
SegmentDuration
歡迎3 minutes
疊代器45 minutes
模組40 minutes
測試45 minutes
  • 第 4 天下午 (2 小時 10 分鐘,含休息)
SegmentDuration
錯誤處理55 minutes
不安全的 Rust1 hour and 5 minutes

深入探索

In addition to the 4-day class on Rust Fundamentals, we cover some more specialized topics:

Rust in Android

Android 中的 Rust是半天的課程,會說明如何針對 Android 平台開發作業使用 Rust,以及與 C、C++ 和 Java 的互通性。

您會需要檢出 (checkout) AOSP (Android 開放原始碼專案)。請檢查課程存放區上相同的機器,並將 src/android/ 目錄移至檢出的 AOSP 根目錄下。這可確保 Android 建構系統能夠在 src/android/ 中看到 Android.bp 的檔案。

請確保 adb sync 可與模擬器或實際裝置搭配使用,並運用 src/android/build_all.sh 預先建構所有 Android 範例。請閱讀指令碼,瞭解指令碼執行的指令,並確保可以手動執行指令。

Rust in Chromium

Chromium 中的 Rust 是半天的深入探索課程,會說明如何在 Chromium 瀏覽器中使用 Rust。這包括在 Chromium 的 gn 建構系統中使用 Rust,以提供與第三方程式庫 (「Crate」) 和 C++ 的互通性。

您需具備 Chromium 的建構知識。我們建議使用偵錯元件版本來加快執行速度,但其他版本也適用。請確保您能夠執行所建構的 Chromium 瀏覽器。

Bare-Metal Rust

The Bare-Metal Rust deep dive is a full day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.

針對微控制器,您會需要預先購買 BBC micro:bit 第 2 版開發板。此外,所有人都需要按照歡迎頁面上的指示安裝多種套件。

Concurrency in Rust

The Concurrency in Rust deep dive is a full day class on classical as well as async/await concurrency.

您會需要設定新的 Crate,然後下載並準備執行依附元件。接著就能將範例複製貼上至 src/main.rs,使用這些範例進行實驗:

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

形式

本課程極具互動性,因此建議您根據各項疑問,帶領學員瞭解 Rust!