Book Image

Creative Projects for Rust Programmers

By : Carlo Milanesi
3 (1)
Book Image

Creative Projects for Rust Programmers

3 (1)
By: Carlo Milanesi

Overview of this book

Rust 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.
Table of Contents (14 chapters)

Project overview

We are going to build several projects, introducing new features in every project. Let's look at each one, as follows:

  • The first project will build a stub of a service that should allow any client to upload, download, or delete files from the server. This project shows how to create a REST application programming interface (API), but it does no useful work.
  • The second project will implement the API described in the previous project. It will build a service that actually allows any client to upload, download, or delete files from the server filesystem.
  • The third project will build a service that allows clients to add key-value records to a memory database residing in the server process, and to recall some predefined queries built into the server. The result of such queries will be sent back to the client in plain text format.
  • The fourth project will be similar to the third one, but the results will be encoded in JSON format.

Our source code is small, but it includes...