Nächste Schritte in Rust
Wenn du die Themen dieses Kurses durchgearbeitet hast, kannst du schon genug Rust, um echte Programme zu schreiben: Variablen, Kontrollfluss, Funktionen, Ownership (Eigentum), Borrowing (Ausleihen), Collections, Module, Fehlerbehandlung, Traits (Eigenschaften), Generics und sogar Threads, Smart Pointer, unsafe und Makros. Das ist wirklich das meiste von dem, was du im Alltag brauchst. Was jetzt noch fehlt, ist vor allem Übung – und das Wissen über einzelne Bibliotheken, das du dir holst, sobald du es brauchst.
Bau etwas Kleines
Abschnitt betitelt „Bau etwas Kleines“Am schnellsten lernst du ab hier, wenn du dir ein kleines Projekt suchst und ein paarmal daran hängen bleibst. Auf dieser Seite gibt es fünf angeleitete Projekte für den Einstieg:
- Ratespiel – das klassische erste Rust-Projekt: Eingabe, Schleifen und
match. - Wortzähler – lies eine Textdatei ein und zähle die Wörter mit einer
HashMap. - To-do-Liste – übe
Vec,struct,enumund das Speichern in einer Datei. - CLI-Tool mit clap – ein echtes Kommandozeilen-Tool mit Unterbefehlen und
--help. - Web-API mit Axum – ein JSON-API-Server, gebaut auf async/await.
Wenn du die geschafft hast, versuch dich an einem eigenen:
- Ein einfacher Taschenrechner – übe
match,Resultund den Umgang mit falschen Eingaben. - Ein Leser für JSON-Konfigurationen – lade Einstellungen aus einer Datei mit Serde.
- Ein kleiner Web-Scraper oder API-Client – ruf mit
reqwesteine URL ab, auf Basis von async/await.
Du weißt noch nicht, welche Art von Programm du bauen willst? Die Seiten unter „Was du bauen kannst“ zeigen, wo Rust stark ist und welche Crates man dafür benutzt: Netzwerkprogrammierung, Datenbanken, Desktop-Apps mit GUI, Spiele und Mikrocontroller.
Du willst erst noch kleinere Übungen? Arbeite die Rust-Übungen durch oder teste dich mit den Interviewfragen zu Rust.
Crates, die du kennen solltest
Abschnitt betitelt „Crates, die du kennen solltest“Das Paket-Ökosystem von Rust (Crates, verteilt über crates.io) deckt fast alles ab, wofür du eine Bibliothek suchen würdest. Ein paar davon begegnen dir ständig:
serde– zum Lesen und Schreiben von JSON (und anderen Formaten); siehe JSON mit Serdeclap– zum Bauen von Parsern für Kommandozeilenargumente; siehe das clap-Projektanyhow/thiserror– für die Fehlerbehandlung in Anwendungen und Bibliotheken; siehe anyhow und thiserrorrand,regexundchrono– Zufallszahlen, reguläre Ausdrücke und Datumsangaben; siehe Zufallszahlen, Regex und Datum und Uhrzeitlog/tracing– fürs Logging; siehe Loggingreqwest– für HTTP-Anfragentokio– für asynchrone Programmierung; siehe Async/Await
Jedes davon fügst du mit cargo add <Crate-Name> zu deinem Projekt hinzu – einen extra Paketmanager brauchst du nicht. Auf der Seite Cargo und Crates erfährst du, wie das funktioniert und wie du ein gutes Crate auswählst. Die Dokumentation dieser Crates gibt es nur auf Englisch.
Themen, die wir nicht behandelt haben
Abschnitt betitelt „Themen, die wir nicht behandelt haben“Dieser Kurs geht weiter als die meisten Einsteiger-Tutorials – mit Themen wie Smart Pointern, Threads und Channels, async/await, Unsafe Rust, C-Code aufrufen (FFI), WebAssembly und eigenen macro_rules!-Makros. Ein paar tiefere Themen haben eigene Seiten, für den Moment, in dem du so weit bist:
- Prozedurale Makros – der mächtigere (und kompliziertere) Verwandte der
macro_rules!-Makros von der Seite Makros in Rust. Sie stecken unter der Haube hinter#[derive(Debug)]und Ähnlichem. - no_std / Embedded Rust – Rust ohne die Standardbibliothek schreiben, für Mikrocontroller und andere Umgebungen mit wenig Ressourcen
Nichts davon brauchst du, um nützlichen Rust-Code zu schreiben. Es lohnt sich aber zu wissen, dass es diese Dinge gibt – und sie zu lernen, sobald du auf ein Problem stößt, das sie wirklich braucht.
Wo du weiterlernen kannst
Abschnitt betitelt „Wo du weiterlernen kannst“- Die Programmiersprache Rust – die deutsche Übersetzung des Rust-Buchs. Lies es jetzt noch einmal, wo die Grundlagen sitzen; vieles ergibt beim zweiten Mal mehr Sinn.
- Rust by Example (auf Englisch) – noch mehr kommentierter Code zum Lesen
- Rustlings (auf Englisch) – kleine Übungen, die du direkt in deinem Terminal reparierst
- This Week in Rust (auf Englisch) – ein wöchentlicher Newsletter, der zeigt, was die Community gerade baut
Noch ein ehrliches Wort zum Schluss
Abschnitt betitelt „Noch ein ehrliches Wort zum Schluss“Du wirst weiterhin auf Compiler-Fehler stoßen, die dich verwirren. Das ist normal – das passiert auch Leuten, die seit Jahren Rust schreiben, nicht nur Anfängern. Der Unterschied, den Erfahrung macht, ist nicht, dass die Fehler aufhören. Du wirst nur schneller darin, sie zu lesen. Schreib weiter Code, lies weiter, was dir der Compiler sagt, und es wird immer leichter.
Viel Erfolg – und danke, dass du bis hierher drangeblieben bist. 🦀
Kurzer Check
Abschnitt betitelt „Kurzer Check“Kurzer Check
1. Welches Crate wird hier zum Lesen und Schreiben von JSON empfohlen?
2. Welches Crate wird für asynchrone Programmierung genannt?
3. Welches dieser Themen nennt die Seite als NICHT behandelt?
Punkte: 0 / 3