Become proficient in designing, developing and deploying effective software systems using the advanced constructs of Rust
- Improve your productivity using the latest version of Rust and write simpler and easier code
- Understand Rust's immutability and ownership principle, expressive type system, safe concurrency
- Deep dive into the new doamins of Rust like WebAssembly, Networking and Command line tools
Rust is an empowering language that provides a rare combination of safety, speed, and zero-cost abstractions. Mastering Rust – Second Edition is filled with clear and simple explanations of the language features along with real-world examples, showing you how you can build robust, scalable, and reliable programs.
This second edition of the book improves upon the previous one and touches on all aspects that make Rust a great language. We have included the features from latest Rust 2018 edition such as the new module system, the smarter compiler, helpful error messages, and the stable procedural macros. You'll learn how Rust can be used for systems programming, network programming, and even on the web. You'll also learn techniques such as writing memory-safe code, building idiomatic Rust libraries, writing efficient asynchronous networking code, and advanced macros. The book contains a mix of theory and hands-on tasks so you acquire the skills as well as the knowledge, and it also provides exercises to hammer the concepts in.
After reading this book, you will be able to implement Rust for your enterprise projects, write better tests and documentation, design for performance, and write idiomatic Rust code.
What you will learn
- Write generic and type-safe code by using Rust's powerful type system
- How memory safety works without garbage collection
- Know the different strategies in error handling and when to use them
- Learn how to use concurrency primitives such as threads and channels
- Use advanced macros to reduce boilerplate code
- Create efficient web applications with the Actix-web framework
- Use Diesel for type-safe database interactions in your web application
Who this book is for
The book is aimed at beginner and intermediate programmers who already have familiarity with any imperative language and have only heard of Rust as a new language. If you are a developer who wants to write robust, efficient and maintainable software systems and want to become proficient with Rust, this book is for you. It starts by giving a whirlwind tour of the important concepts of Rust and covers advanced features of the language in subsequent chapters using code examples that readers will find useful to advance their knowledge.
Table of Contents
- Getting started with Rust
- Managing projects with cargo
- Tests, documentation and benchmarks
- Types, generics and traits
- Memory management and safety
- Error handling
- Advanced Topics
- Metaprogramming with Macros
- Unsafe Rust and foreign function interfaces
- Network programming in Rust: Sync and Async IO
- Building web applications with Rust
- Interacting with databases in Rust
- Rust on the web using WebAssembly
- Gui development with Rust