Back

The Rust Systems Programming Bundle

Books
13
Days Left
7
Get Bundle on Humble Bundle
Packt
CANCER RESEARCH UK
Cover of Game Development with Rust and WebAssembly

Game Development with Rust and WebAssembly

Eric Smith

Write an endless runner game for the web in Rust and test, deploy, and debug your 2D game using the WebAssembly toolchain Key Features Build and deploy an endless runner game for the web from scratch through this helpful guide with key images printed in color Learn how to use Rust for web development with WebAssembly Explore modern game development and programming techniques to build 2D games using Rust Book DescriptionThe Rust programming language has held the most-loved technology ranking on Stack Overflow for 6 years running, while JavaScript has been the most-used programming language for 9 years straight as it runs on every web browser. Now, thanks to WebAssembly (or Wasm), you can use the language you love on the platform that's everywhere. This book is an easy-to-follow reference to help you develop your own games, teaching you all about game development and how to create an endless runner from scratch. You'll begin by drawing simple graphics in the browser window, and then learn how to move the main character across the screen. You'll also create a game loop, a renderer, and more, all written entirely in Rust. After getting simple shapes onto the screen, you'll scale the challenge by adding sprites, sounds, and user input. As you advance, you'll discover how to implement a procedurally generated world. Finally, you'll learn how to keep your Rust code clean and organized so you can continue to implement new features and deploy your app on the web. By the end of this Rust programming book, you'll build a 2D game in Rust, deploy it to the web, and be confident enough to start building your own games.What you will learn Build and deploy a Rust application to the web using WebAssembly Use wasm-bindgen and the Canvas API to draw real-time graphics Write a game loop and take keyboard input for dynamic action Explore collision detection and create a dynamic character that can jump on and off platforms and fall down holes Manage animations using state machines Generate levels procedurally for an endless runner Load and display sprites and sprite sheets for animations Test, refactor, and keep your code clean and maintainable Who this book is for This game development book is for developers interested in Rust who want to create and deploy 2D games to the web. Game developers looking to build a game on the web platform using WebAssembly without C++ programming or web developers who want to explore WebAssembly along with JavaScript web will also find this book useful. The book will also help Rust developers who want to move from the server side to the client side by familiarizing them with the WebAssembly toolchain. Basic knowledge of Rust programming is assumed.

show more
Packt
Cover of Rust

Rust

Rheinwerk Publishing, Inc; Nouman Azam

Sichere Programmierung für Profis Kompakte Einführung und fortgeschrittene Themen Praktische Beispiele wie Webanwendungen, Microservices, Mocking oder Language Bindings Alle Codebeispiele online verfügbar Dieses Buch vermittelt Anwendungsentwicklern Theorie und Praxis der Sprache Rust und zeigt, wo sie gewinnbringend in neuen Projekten verwendet und wie sie sich in bestehende Projekte gut integrieren lässt. Es illustriert alle Inhalte mit zahlreichen Beispielen. Nach einer Einführung in die Grundlagen, Nebenläufigkeit und das Testen mit Rust kommt der praktische Teil. Anhand einer Webapplikation und ihrer Aufteilung in Microservices werden die Vorteile und Eigenheiten der Sprache anschaulich vermittelt. Systemnahe Programmierung, die Kommunikation mit Sprachen wie Java, aber auch die Verwendung von WebAssembly werden ebenfalls betrachtet. Nach der Lektüre dieses Buchs kann man produktiv in Rust programmieren und hat neben den Grundlagen ein gutes Verständnis für typische Anwendungsbereiche der Sprache wie WebAssembly, Systemnahe Programmierung oder Einbindung in bestehende Umgebungen über Language Bindings.

show more
Rheinwerk Publishing
Cover of Rust for C++ Developer

Rust for C++ Developer

Dan Olson

Designed for experienced C++ programmers, this book shows how to translate your knowledge into idiomatic Rust.

show more
Packt
Cover of Creative Projects for Rust Programmers

Creative Projects for Rust Programmers

Carlo Milanesi

A practical guide to understanding the latest features of the Rust programming language, useful libraries, and frameworks that will help you design and develop interesting projects Key Features Work through projects that will help you build high-performance applications with Rust Delve into concepts such as error handling, memory management, concurrency, generics, and macros with Rust Improve business productivity by choosing the right libraries and frameworks for your applications Book DescriptionRust is a community-built language that solves pain points present in many other languages, thus improving performance and safety. In this book, you will explore the latest features of Rust by building robust applications across different domains and platforms. The book gets you up and running with high-quality open source libraries and frameworks available in the Rust ecosystem that can help you to develop efficient applications with Rust. You'll learn how to build projects in domains such as data access, RESTful web services, web applications, 2D games for web and desktop, interpreters and compilers, emulators, and Linux Kernel modules. For each of these application types, you'll use frameworks such as Actix, Tera, Yew, Quicksilver, ggez, and nom. This book will not only help you to build on your knowledge of Rust but also help you to choose an appropriate framework for building your project. By the end of this Rust book, you will have learned how to build fast and safe applications with Rust and have the real-world experience you need to advance in your career.What you will learn Access TOML, JSON, and XML files and SQLite, PostgreSQL, and Redis databases Develop a RESTful web service using JSON payloads Create a web application using HTML templates and JavaScript and a frontend web application or web game using WebAssembly Build desktop 2D games Develop an interpreter and a compiler for a programming language Create a machine language emulator Extend the Linux Kernel with loadable modules Who this book is for This Rust programming book is for developers who want to get hands-on experience with implementing their knowledge of Rust programming, and are looking for expert advice on which libraries and frameworks they can adopt to develop software that typically uses the Rust language.

show more
Packt
Cover of Rust Web Programming

Rust Web Programming

Maxwell Flitton

A comprehensive guide to developing, packaging, and deploying Rust web applications - with new coverage on async Rust, WebAssembly, nanoservices, and more. Purchase of the print or Kindle book includes a free eBook in PDF format. Key Features Get a comprehensive introduction to Rust for full-stack web development Explore the exciting evolution of Rust in recent years with WebAssembly, Axum, native TLS, and SurrealDB Build code in a scalable way with microservice and nanoservice design patterns Book Description Rust is no longer just for systems programming. This book will show you why this safe and performant language is a crucial up-and-coming option for developing web applications, and get you on your way to building fully functional Rust web apps. You don’t need any experience with Rust to get started, and this new edition also comes with a shallower learning curve. You’ll get hands-on with emerging Rust web frameworks including Actix, Axum, Rocket, and Hyper. You’ll look at injecting Rust into the frontend with WebAssembly and HTTPS configuration with NGINX. Later, you’ll move on to more advanced async topics, exploring TCP and framing, and implementing async systems. As you work through the book, you’ll build a to-do application with authentication using a microservice architecture that compiles into one Rust binary, including the embedding of a frontend JavaScript application in the same binary. The application will have end-to-end atomic testing and a deployment pipeline. By the end of this book, you’ll fully understand the significance of Rust for web development. You’ll also have the confidence to build robust, functional, and scalable Rust web applications from scratch. What you will learn Build scalable Rust web applications as monoliths or microservices Develop a deeper understanding of async Rust Get to grips with Rust language features such as traits and the borrow checker Manage authentication and databases in Rust web apps Build app infrastructure on AWS using Terraform Learn how to package and deploy Rust servers Build unit tests and end-to-end tests for your Rust web apps with Python Who this book is for This book is for web developers who are looking to learn or adopt Rust to build safe and performant web applications. This includes developers familiar with languages such as Python, Ruby, and JavaScript. You don’t need any prior experience in Rust to start this book. However, you’ll need a solid understanding of web development principles, along with basic knowledge of HTML, CSS, and JavaScript to get the most out of it.

show more
Packt
Cover of The Rust Programming Handbook

The Rust Programming Handbook

Francesco Ciulla

Dive deep into the essentials of Rust with this definitive guide that covers core programming features, techniques, and principles, setting a solid foundation for advanced system and web programming. Purchase of the print or Kindle book includes a free eBook in PDF format Key Features Boost your career by mastering Rust's unique features, from systems programming to secure web applications Stay ahead of the curve with insights into the latest tools and frameworks within the Rust ecosystem Turn theoretical knowledge into practical expertise with engaging projects and step-by-step tutorials Book DescriptionThe Rust Programming Handbook is a deeply engaging and meticulously crafted book designed to immerse programmers into the intricate world of Rust’s core principles and sophisticated features. This book not only enhances your coding skills but also prepares you to tackle complex challenges in software development, optimizing your code for better performance and reliability. You will explore Rust’s powerful concurrency models, rigorous memory safety guarantees, and its versatile trait system. Discover the foundational elements that make Rust a standout language for developing safe and efficient applications. The book will show you how these core principles can seamlessly transition into real-world applications. You will learn how to apply Rust's capabilities to systems programming and web development, extending the reach of its safety and efficiency benefits across different programming domains. Whether it's creating low-level system components or high-performance web services, the book provides practical examples to integrate Rust effectively into a variety of projects. Elevate your coding skills and become a sought-after professional in the tech industry with this essential guide. Rust from Beginner to Professional is your definitive toolkit for mastering advanced Rust programming techniques and writing high-quality code.What you will learn Thoroughly understand Rust's unique programming model and its advantages for software development Implement advanced features like smart pointers, concurrency, and error handling to write efficient and secure code Seamlessly incorporate Rust into your projects, enhancing both performance and scalability Prepare for sophisticated development tasks in systems and web programming using Rust Navigate Rust's ecosystem with the latest tools and frameworks to stay ahead in technology Who this book is for This book is ideal for readers with a foundational knowledge of Rust as well as experienced developers from other programming backgrounds. Whether you're starting your journey with Rust and aiming to deepen your expertise, or you're an experienced developer in languages like C++, Java, or Python transitioning to Rust, this book offers a comprehensive understanding of its core mechanics. Technical leads and software architects who aim to implement Rust in their projects will find valuable insights into enhancing performance and safety, making it a crucial addition to their professional toolkit.

show more
Packt
Cover of Practical System Programming for Rust Developers

Practical System Programming for Rust Developers

Prabhu Eshwarla

Explore various Rust features, data structures, libraries, and toolchain to build modern systems software with the help of hands-on examples Key Features Learn techniques to design and build system tools and utilities in Rust Explore the different features of the Rust standard library for interacting with operating systems Gain an in-depth understanding of the Rust programming language by writing low-level software Book DescriptionModern programming languages such as Python, JavaScript, and Java have become increasingly accepted for application-level programming, but for systems programming, C and C++ are predominantly used due to the need for low-level control of system resources. Rust promises the best of both worlds: the type safety of Java, and the speed and expressiveness of C++, while also including memory safety without a garbage collector. This book is a comprehensive introduction if you’re new to Rust and systems programming and are looking to build reliable and efficient systems software without C or C++. The book takes a unique approach by starting each topic with Linux kernel concepts and APIs relevant to that topic. You’ll also explore how system resources can be controlled from Rust. As you progress, you’ll delve into advanced topics. You’ll cover network programming, focusing on aspects such as working with low-level network primitives and protocols in Rust, before going on to learn how to use and compile Rust with WebAssembly. Later chapters will take you through practical code examples and projects to help you build on your knowledge. By the end of this Rust programming book, you will be equipped with practical skills to write systems software tools, libraries, and utilities in Rust.What you will learn Gain a solid understanding of how system resources are managed Use Rust confidently to control and operate a Linux or Unix system Understand how to write a host of practical systems software tools and utilities Delve into memory management with the memory layout of Rust programs Discover the capabilities and features of the Rust Standard Library Explore external crates to improve productivity for future Rust programming projects Who this book is for This book is for developers with basic knowledge of Rust but little to no knowledge or experience of systems programming. System programmers who want to consider Rust as an alternative to C or C++ will also find this book useful.

show more
Packt
Cover of Hands-On Concurrency with Rust

Hands-On Concurrency with Rust

Brian L. Troutwine

Get to grips with modern software demands by learning the effective uses of Rust\'s powerful memory safety. Key Features [*] Learn and improve the sequential performance characteristics of your software [*] Understand the use of operating system processes in a high-scale concurrent system [*] Learn of the various coordination methods available in the Standard library Book DescriptionMost programming languages can really complicate things, especially with regard to unsafe memory access. The burden on you, the programmer, lies across two domains: understanding the modern machine and your language's pain-points. This book will teach you to how to manage program performance on modern machines and build fast, memory-safe, and concurrent software in Rust. It starts with the fundamentals of Rust and discusses machine architecture concepts. You will be taken through ways to measure and improve the performance of Rust code systematically and how to write collections with confidence. You will learn about the Sync and Send traits applied to threads, and coordinate thread execution with locks, atomic primitives, data-parallelism, and more. The book will show you how to efficiently embed Rust in C++ code and explore the functionalities of various crates for multithreaded applications. It explores implementations in depth. You will know how a mutex works and build several yourself. You will master radically different approaches that exist in the ecosystem for structuring and managing high-scale systems. By the end of the book, you will feel comfortable with designing safe, consistent, parallel, and high-performance applications in Rust.What you will learn Probe your programs for performance and accuracy issues Create your own threading and multi-processing environment in Rust Use coarse locks from Rust's Standard library Solve common synchronization problems or avoid synchronization using atomic programming Build lock-free/wait-free structures in Rust and understand their implementations in the crates ecosystem Leverage Rust's memory model and type system to build safety properties into your parallel programs Understand the new features of the Rust programming language to ease the writing of parallel programs Who this book is for This book is aimed at software engineers with a basic understanding of Rust who want to exploit the parallel and concurrent nature of modern computing environments, safely.

show more
Packt
Cover of Asynchronous Programming in Rust

Asynchronous Programming in Rust

Carl Fredrik Samson

Get a fundamental understanding of asynchronous programming and Rust's futures by working through examples that show you how everything really works Key Features Master asynchronous Rust through examples focusing on key concepts Build a solid understanding of concepts such as coroutines, fibers, futures, and callbacks Explore Rust's futures, craft your own runtime, and excel in handling stacks, ABIs, syscalls, and inline assembly Purchase of the print or Kindle book includes a free PDF eBook Book DescriptionStep into the world of asynchronous programming with confidence by conquering the challenges of unclear concepts with this hands-on guide. Using functional examples, this book simplifies the trickiest concepts, exploring goroutines, fibers, futures, and callbacks to help you navigate the vast Rust async ecosystem with ease. You’ll start by building a solid foundation in asynchronous programming and explore diverse strategies for modeling program flow. The book then guides you through concepts like epoll, coroutines, green threads, and callbacks using practical examples. The final section focuses on Rust, examining futures, generators, and the reactor-executor pattern. You’ll apply your knowledge to create your own runtime, solidifying expertise in this dynamic domain. Throughout the book, you’ll not only gain proficiency in Rust's async features but also see how Rust models asynchronous program flow. By the end of the book, you'll possess the knowledge and practical skills needed to actively contribute to the Rust async ecosystem.What you will learn Explore the essence of asynchronous program flow and its significance Understand the difference between concurrency and parallelism Gain insights into how computers and operating systems handle concurrent tasks Uncover the mechanics of async/await Understand Rust's futures by implementing them yourself Implement green threads from scratch to thoroughly understand them Who this book is for This book is for programmers who want to enhance their understanding of asynchronous programming, especially those experienced in VM’ed or interpreted languages like C#, Java, Python, JavaScript, and Go. If you work with C or C++ but have had limited exposure to asynchronous programming, this book serves as a resource to broaden your knowledge in this area. Although the examples are predominantly in Rust, the intricacies of Rust’s futures are covered in detail. So, anyone with a keen interest in learning Rust or with working knowledge of Rust will be able to get the most out of this book.

show more
Packt
Cover of Rust Web Development with Rocket

Rust Web Development with Rocket

Karuna Murti

Explore the world of Rocket-fueled web application development and the power of the Rust programming language Key Features Discover solutions to the common problems faced while creating web applications with Rocket Learn everything about Rust, from structs and crates to generics and debugging Combine Rust and Rocket to create, test, and deploy a full-featured web app Book DescriptionLooking for a fast, powerful, and intuitive framework to build web applications? This Rust book will help you kickstart your web development journey and take your Rust programming skills to the next level as you uncover the power of Rocket - a fast, flexible, and fun framework powered by Rust. Rust Web Development with Rocket wastes no time in getting you up to speed with what Rust is and how to use it. You’ll discover what makes it so productive and reliable, eventually mastering all of the concepts you need to play with the Rocket framework while developing a wide set of web development skills. Throughout this book, you'll be able to walk through a hands-on project, covering everything that goes into making advanced web applications, and get to grips with the ins and outs of Rocket development, including error handling, Rust vectors, and wrappers. You'll also learn how to use synchronous and asynchronous programming to improve application performance and make processing user content easy. By the end of the book, you'll have answers to all your questions about creating a web application using the Rust language and the Rocket web framework.What you will learn Master the basics of Rust, such as its syntax, packages, and tools Get to grips with Rocket s tooling and ecosystem Extend your Rocket applications using Rust and third-party libraries Create a full-fledged web app with Rocket that handles user content Write pattern-matching logic and handle Rust object lifetimes Use APIs and async programming to make your apps secure and reliable Test your Rocket application and deploy it to production Containerize and scale your applications for maximum efficiency Who this book is for This web development book is for software engineers who want to learn how to use the Rocket framework to build web applications. Although not mandatory, basic knowledge of the Rust programming language will help you understand the topics covered easily.

show more
Packt
Cover of Design Patterns and Best Practices in Rust

Design Patterns and Best Practices in Rust

Evan Williams; Scott McKay

Write safer, more maintainable Rust code by identifying anti-patterns, applying idiomatic design patterns tailored to ownership, borrowing, and the type system, and learning when to adapt or avoid traditional solutions. Free with your book: DRM-free PDF version + access to Packt's next-gen Reader* Key Features Leverage traits, ownership, borrowing, and lifetimes to structure expressive, modular Rust code Avoid common Rust anti-patterns and design pitfalls with clear, Rust-specific guidance Design practical Rust applications using Rust-native and adapted design patterns Book DescriptionMany Rust developers run into problems when they try to apply familiar object-oriented or cross-language patterns to Rust projects. These mismatches often lead to confusing compiler errors, awkward workarounds, or brittle code. This book helps you avoid those traps by thinking in Rust and applying idiomatic design patterns that embrace ownership, borrowing, and type safety. The book begins with anti-patterns and common mistakes Rust developers often encounter, including misusing object-oriented thinking, over-relying on Clone, or treating the borrow checker as an obstacle. From there, you’ll explore how to rethink traditional design solutions for Rust, including creational, structural, and behavioral design patterns. You’ll also dive into architectural strategies, type-driven design, and Rust-specific techniques such as TypeState. The final chapter brings these ideas together into a design mindset rooted in idiomatic Rust. By the end of this book, you’ll know how to avoid costly mistakes, apply effective patterns confidently, and design Rust applications that are clean, scalable, and reliable. *Email sign-up and proof of purchase requiredWhat you will learn Design maintainable applications using idiomatic Rust patterns Recognize Rust anti-patterns that lead to messy or inefficient code Adapt creational, structural, and behavioral design patterns to Rust Leverage the type system to catch logic errors at compile time Structure code effectively with modules, traits, and clear interfaces Work with ownership, borrowing, and the type system to simplify data handling Implement functional techniques for clearer, expressive Rust code Who this book is for Rust developers ready to move beyond the basics and improve how they design and structure code will benefit from this book. If you're comfortable building simple applications and using tools like Cargo, this book will help you write cleaner, more idiomatic, and reliable software. It’s ideal for those looking to understand which patterns work in Rust, how to avoid common traps, and how to tackle more complex, real-world projects with confidence.

show more
Packt
Cover of Speed Up Your Python with Rust

Speed Up Your Python with Rust

Maxwell Flitton

Discover how to inject your code with highly performant Rust features to develop fast and memory-safe applications Key Features Learn to implement Rust in a Python system without altering the entire system Write safe and efficient Rust code as a Python developer by understanding the essential features of Rust Build Python extensions in Rust by using Python NumPy modules in your Rust code Book DescriptionPython has made software development easier, but it falls short in several areas including memory management that lead to poor performance and security. Rust, on the other hand, provides memory safety without using a garbage collector, which means that with its low memory footprint, you can build high-performant and secure apps relatively easily. However, rewriting everything in Rust can be expensive and risky as there might not be package support in Rust for the problem being solved. This is where Python bindings and pip come in. This book will help you, as a Python developer, to start using Rust in your Python projects without having to manage a separate Rust server or application. Seeing as you'll already understand concepts like functions and loops, this book covers the quirks of Rust such as memory management to code Rust in a productive and structured manner. You'll explore the PyO3 crate to fuse Rust code with Python, learn how to package your fused Rust code in a pip package, and then deploy a Python Flask application in Docker that uses a private Rust pip module. Finally, you'll get to grips with advanced Rust binding topics such as inspecting Python objects and modules in Rust. By the end of this Rust book, you'll be able to develop safe and high-performant applications with better concurrency support.What you will learn Explore the quirks of the Rust programming language that a Python developer needs to understand to code in Rust Understand the trade-offs for multiprocessing and thread safety to write concurrent code Build and manage a software project with cargo and crates Fuse Rust code with Python so that Python can import and run Rust code Deploy a Python Flask application in Docker that utilizes a private Rust pip module Inspect and create your own Python objects in Rust Who this book is for This book is for Python developers who want to speed up their Python code with Rust and implement Rust in a Python system without altering the entire system. You'll be able to learn about all topics relating to Rust programming. Basic knowledge of Python is required to get the most out of this book.

show more
Packt
Cover of Rust for Blockchain Application Development

Rust for Blockchain Application Development

Akhil Sharma

Save time, improve stability, and optimize program memory while building decentralized applications on a blockchain using the features and capabilities of Rust Key Features Implement peer-to-peer blockchain using features of the Rust programming language Use Rust to build dApps on popular blockchains like Ethereum, Solana, and NEAR Optimize Rust code and enhance security updates to deploy a blockchain to production Purchase of the print or Kindle book includes a free PDF eBook Book DescriptionBefore Rust, blockchain developers didn’t have a systems programming language that was type-safe, fast, and, at the same time, had stable and easy memory management. Rust proved to be a boon for developers and works as the perfect solution for not only blockchain and protocol development but also dApp development. Rust for Blockchain Application Development focuses on demonstrating solutions that can help blockchain developers productize decentralized applications using Rust, which is a complex language with a steep learning curve. This book starts with basic Rust language concepts and then builds on these concepts to enable you to develop your own blockchain from scratch. As you progress, you’ll learn how to build dApps on popular chains like Solana and NEAR. You’ll also be guided through creating Ethereum dApps using Foundry (Rust). Finally, you’ll develop a custom blockchain using Substrate by Parity (Polkadot). The book provides a complete 360-degree view of Rust in the blockchain ecosystem. By the end of this Rust book, you’ll have a thorough understanding of how to apply your Rust knowledge to building dApps and blockchains from scratch.What you will learn Understand essential Rust concepts required to build blockchain Apply blockchain features such as nodes and p2 communication using Rust Understand and implement consensus in blockchain Build and deploy a dApp on Ethereum with the Foundry framework in Rust Develop and deploy a dApp on Solana and the NEAR protocol Build a custom blockchain using the Substrate framework by Polkadot Who this book is for This Rust programming book is for blockchain developers interested in building dApps on popular blockchains using Rust. Blockchain architects wanting to save time required to go through documentation and understand each technology can also use this book as a quick-start guide. Experience in building applications on blockchain is required, and familiarity with Rust will be helpful but not necessary.

show more
Packt