課程架構
本頁面的適用對象為課程講師。
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 分鐘,含休息)
Segment | Duration |
---|---|
歡迎 | 5 minutes |
Hello, World | 15 minutes |
型別和值 | 45 minutes |
基本的控制流程概念 | 40 minutes |
- 第 1 天下午 (2 小時 15 分鐘,含休息)
Segment | Duration |
---|---|
元組和陣列 | 35 minutes |
參照 | 35 minutes |
使用者定義的型別 | 50 minutes |
- 第 2 天上午 (2 小時 50 分鐘,含休息)
Segment | Duration |
---|---|
歡迎 | 3 minutes |
模式配對 | 1 hour |
Read 和 Write | 45 minutes |
泛型 | 40 minutes |
- 第 2 天下午 (3 小時 10 分鐘,含休息)
Segment | Duration |
---|---|
標準函式庫 | 1 hour and 20 minutes |
標準函式庫 | 1 hour and 40 minutes |
- 第 3 天上午 (2 小時 20 分鐘,含休息)
Segment | Duration |
---|---|
歡迎 | 3 minutes |
記憶體管理 | 1 hour |
智慧指標 | 55 minutes |
- 第 3 天下午 (2 小時 10 分鐘,含休息)
Segment | Duration |
---|---|
借用 | 50 minutes |
生命週期 | 1 hour and 10 minutes |
- 第 4 天上午 (2 小時 40 分鐘,含休息)
Segment | Duration |
---|---|
歡迎 | 3 minutes |
疊代器 | 45 minutes |
模組 | 40 minutes |
測試 | 45 minutes |
- 第 4 天下午 (2 小時 10 分鐘,含休息)
Segment | Duration |
---|---|
錯誤處理 | 55 minutes |
不安全的 Rust | 1 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!