Willkommen bei Comprehensive Rust 🩀

Build workflow GitHub contributors GitHub stars

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.

The latest version of the course can be found at https://google.github.io/comprehensive-rust/. If you are reading somewhere else, please check there for updates.

Das Ziel des Kurses ist es, Dir Rust beizubringen. Wie setzen keine Vorkenntnisse ĂŒber Rust voraus, und hoffen das Folgende zu erreichen:

  • Dir ein umfassendes VerstĂ€ndnis der Rust-Syntax und -Sprache zu vermitteln.
  • Es dir ermöglichen, bestehende Programme zu modifizieren und neue Programme in Rust zu schreiben.
  • Dir gĂ€ngige Rust-Idiome zu zeigen.

We call the first four course days Rust Fundamentals.

Building on this, you’re invited to dive into one or more specialized topics:

  • Android: ein halbtĂ€giger Kurs zur Verwendung von Rust fĂŒr die Android-Plattform Entwicklung (AOSP). Dazu gehört die InteroperabilitĂ€t mit C, C++ und 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).

Nicht-Ziele

Rust ist eine große Sprache und wir werden sie in ein paar Tagen nicht vollstĂ€ndig abdecken können. Einige Nicht-Ziele dieses Kurses sind:

Annahmen

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.

Dies ist ein Beispiel fĂŒr eine Sprechernotiz, welche wir verwenden, um weitere Informationen zu den Folien hinzuzufĂŒgen. Sprechernotizen können wichtige Punkte beinhalten, die vom Kursleiter erwĂ€hnt werden sollten, oder auch Antworten auf Fragen, die typischerweise im Kurs vorkommen.