Preface
Rust is a new and fast-growing programming language that provides memory safety without a garbage collector. With its low memory footprint, it allows web developers to build high-performing and secure web apps with relative ease. This book will help web developers to adopt Rust for web app development, while addressing safety and high-performance issues.
Rust Web Programming will take you through each stage of the web development process, showing you how to combine Rust and modern web development principles to build supercharged web apps. This book tries to keep dependencies at a minimum and will avoid leaning too heavily on advanced Rust concepts while keeping modules isolated. As a result, you will be able to build fully functioning web apps and modules that can be plugged into a range of different web frameworks with confidence. This will give you a solid foundation to learn advanced concepts in Rust in the future while applying it to an already functioning web application.
You'll start with an introduction to Rust and understand how to avoid common pitfalls when migrating from traditional dynamic programming languages. The book will show you how to structure Rust code for a project that spans multiple pages and modules. Next, you'll explore the Actix Web framework and get a basic web server up and running. As you advance, you'll learn how to process JSON requests and display data from the web app via HTML, CSS, and JavaScript.
You'll be able to structure scalable web apps in Rust in Rocket, Actix Web, and Warp. You'll also be able to apply data persistence to your web apps using PostgreSQL. We'll also build login, JWT, and config modules for your web apps, and serve HTML, CSS, and JavaScript from the Actix Web server.
We'll also build unit tests and functional API tests in Postman and Newman, and deploy the Rust app with NGINX and Docker onto an AWS EC2 instance.
You'll also learn how to persist data and create RESTful services in Rust. Later, you'll build an automated deployment process for the app on an AWS EC2 instance and Docker Hub. Finally, you'll play around with some popular web frameworks in Rust and compare them.
By the end of this Rust book, you'll be able to confidently create scalable and fast web applications with Rust.