Comprehensive Rust 🦀 へようこそ
This is a free Rust course developed by the Android team at Google. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling.
コースの最新バージョンは https://google.github.io/comprehensive-rust/ にあります。他の場所でお読みの場合は、そちらで最新情報をご確認ください。
The course is available in other languages. Select your preferred language in the top right corner of the page or check the Translations page for a list of all available translations.
The course is also available as a PDF.
本講座の目的は、Rustを教える事です。Rustに関する前提知識は不要としており、次の目標を設定しています:
- Rustの基本構文と言語についての理解を深める。
- 既存のプログラムを修正したり、新規プログラムをRustで書けるようにする。
- 一般的なRustのイディオムを紹介する。
コースの最初の4日間を「Rust の基礎」と呼びます。
Building on this, you're invited to dive into one or more specialized topics:
- Android: a half-day course on using Rust for Android platform development (AOSP). This includes interoperability with C, C++, and Java.
- Chromium: a half-day course on using Rust within Chromium based browsers. This includes interoperability with C++ and how to include third-party crates in Chromium.
- Bare-metal: a whole-day class on using Rust for bare-metal (embedded) development. Both microcontrollers and application processors are covered.
- Concurrency: a whole-day class on concurrency in Rust. We cover both classical concurrency (preemptively scheduling using threads and mutexes) and async/await concurrency (cooperative multitasking using futures).
本講座の対象外
Rustは非常に汎用性の高い言語であり、数日で全てを網羅する事はできません。本講座の目標として設定されていないものには、以下のようなものがあります:
- Learning how to develop macros: please see Chapter 19.5 in the Rust Book and Rust by Example instead.
前提知識
The course assumes that you already know how to program. Rust is a statically-typed language and we will sometimes make comparisons with C and C++ to better explain or contrast the Rust approach.
If you know how to program in a dynamically-typed language such as Python or JavaScript, then you will be able to follow along just fine too.
これはスピーカーノートの一例です。これを使用してスライドを捕捉します。講師がカバーすべき要点や、授業でよく出る質問への回答などが含まれます。