The Zeitspace Sessions

Using WebAssembly to Improve the Performance of your JavaScript Applications

In this workshop, we’ll look at a few common JavaScript performance issues on both the frontend and in Node, and fix them using Rust compiled to WebAssembly or to a Node native module.

Details

Javascript has come a long way in the last decade and has crept into both frontend and backend applications. However, there comes a point in every Javascript application’s life where you want to buy a bit more performance somehow. WebAssembly can seem like the solution, but the documentation is a bit dense, there’s a whole separate ecosystem to learn, and getting it into your existing development flow can seem daunting.

In this workshop, we’ll look at a few common JavaScript performance issues on both the frontend and in Node, and fix them using Rust compiled to WebAssembly or to a Node native module. We’ll explore why Rust is a good option for your WebAssembly applications, and go over some Crates that make integrating native code into your existing javascript application simple.

What to bring

  • Some background in Javascript helps, knowledge of Rust is entirely optional!
  • A copy of Node.js with a version > 10. Both the latest and the active LTS release are fine.
  • An install of Rust and Cargo, install it with Rustup at https://rustup.rs/
  • A text editor of your choice.