Book Image

Rust Web Development with Rocket

By : Karuna Murti
Book Image

Rust Web Development with Rocket

By: Karuna Murti

Overview of this book

Looking 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.
Table of Contents (20 chapters)
1
Part 1: An Introduction to the Rust Programming Language and the Rocket Web Framework
7
Part 2: An In-Depth Look at Rocket Web Application Development
14
Part 3: Finishing the Rust Web Application Development

Serving a WebAssembly application using Rocket

In this section, we are going to serve the WebAssembly web application using the following steps:

  1. To run the WebAssembly file in our_application, we have to modify our_application a little bit. First, copy the WebAssembly and the JavaScript from our_application_wasm/dist to the our_application/static directory.
  2. Edit the template to be able to selectively use WebAssembly in our_application/src/views/template.html.tera as follows:
    <head>
      ...
      {% block wasm %}{% endblock wasm %}
      <meta...> 
    </head>
    <body>
      ...
      {% block wasmscript %}{% endblock wasmscript %}
    </body>
  3. Add a new template file named our_application/src/views/users/wasm.html.tera. Edit the file in order to make sure the HTML file loads the necessary WebAssembly and JavaScript file, and run the WebAssembly on the right DOM. Add the following lines:
    {% extends "template&quot...