Architektur von Rust-Anwendungen: Vom Entwurf bis zur Produktion
Architektur von Rust-Anwendungen: Vom Entwurf bis zur Produktion
Zusammenfassung:
Das Buch "Architektur von Rust-Anwendungen" ist ein praktischer Leitfaden für Entwickler, die die Systemprogrammierung meistern und lernen möchten, komplexe, aber dennoch elegante und sichere Anwendungen in Rust zu entwerfen. Der Autor stützt sich auf langjährige Erfahrung mit der Sprache und führt den Leser Schritt für Schritt von den Grundlagen der modularen Architektur bis zum Aufbau hochbelastbarer, produktionsreifer Systeme.
Das Buch beginnt mit einer Diskussion der grundlegenden Prinzipien: Warum Rust nicht einfach "C++ ohne Segfaults" ist, sondern eine Sprache, die einen besonderen Entwurfsstil vorgibt. Sie erfahren, wie das System der Besitzverhältnisse, der Ausleihe und der Lebenszeiten die Programmarchitektur beeinflusst und wie Sie diese Einschränkungen in Vorteile verwandeln können. Besonderes Augenmerk liegt auf der Komposition – der Fähigkeit, große Systeme aus kleinen, testbaren Komponenten zu bauen.
Was Sie lernen werden:
- Modularität und Code-Organisation: Wie man ein Projekt richtig in Crates, Module und Pakete aufteilt, um Flexibilität und Wiederverwendbarkeit zu erhalten.
- Entwurfsmuster in Rust: Anpassung klassischer GoF-Muster und spezifischer Rust-Idiome (Newtype, Builder, Type State, RAII).
- Fehlerbehandlung: Vom einfachen
Resultbis zu fortgeschrittenen Strategien mitanyhow,thiserrorund benutzerdefinierten Fehlertypen. - Asynchrone Programmierung und Multithreading: Architektur nebenläufiger Systeme auf Basis von
tokio,async-std, Kanälen und gemeinsam genutzten Zuständen. - Testen als Teil der Architektur: Unit-Tests, Integrationstests, property-based Testing und wie die Architektur das Testen erleichtern oder erschweren kann.
- Arbeit mit externen Abhängigkeiten: Inversion of Control, Dependency Injection und Traits als Schnittstellen.
Für wen dieses Buch ist:
Das Buch richtet sich an Entwickler, die bereits mit der Syntax von Rust vertraut sind und das Buch "The Rust Programming Language" (The Book) gelesen haben. Es ist ideal für diejenigen, die vom Schreiben von Skripten und einfachen Dienstprogrammen zur Erstellung vollwertiger Projekte übergehen möchten: Webserver, CLI-Tools, Netzwerkdienste und Systembibliotheken. Erfahrene Programmierer in anderen Sprachen (C++, Java, Go) werden ebenfalls viele nützliche Hinweise finden, wie sie typische architektonische Fallstricke beim Umstieg auf Rust vermeiden können.
Im Gegensatz zu Nachschlagewerken bietet dieses Buch eine ganzheitliche Sicht auf den Entwicklungsprozess: Wie man frühzeitig Entscheidungen über die Projektstruktur trifft, wie man Code schmerzfrei refaktoriert und wie man die Anwendung für die Produktionslast vorbereitet. Jedes Kapitel enthält Beispiele für echten Code, die Sie sofort in Ihren eigenen Projekten anwenden können.
Nach der Lektüre dieses Buches werden Sie in der Lage sein, Systeme zu entwerfen, die nicht nur auf Anhieb kompilieren, sondern auch leicht zu warten, zu erweitern und zu debuggen sind. Rust wird für Sie nicht mehr nur eine "sichere Sprache" sein – Sie werden darin ein mächtiges Werkzeug zur Erstellung komplexer, aber verständlicher Architektur sehen.
Empfehlungen
Testen von Java-Anwendungen: Von Unit-Tests bis zu Integrationsszenarien
Swift (iOS/macOS) und Docker: Containerisierung von Anwendungen
Funktionale Programmierung in Java: Von Lambdas zu Monaden
Clean Code: Erstellung, Analyse und Refactoring. Die Bibliothek des Profis
Programmierung: Prinzipien und Praxis mit C++
Anfang der Entwicklung unter iPhone mit Swift 5