WebAssembly adalah teknologi baru dalam dunia web development.
Javascript sebagai bahasa utama dalam web programming, awalnya dikembangkan untuk mengatur UI dari aplikasi. Walaupun Javascript dapat menangani proses yang memerlukan computing resource besar, seperti sebagai web server (nodejs), namun jika digunakan untuk aplikasi yang membutuhkan akses terhadap hardware, performa aplikasi akan menjadi turun.
Dengan mulai bergesernya paradigma desktop app menjadi web app, diperlukan akses terhadap hardware computer. Untuk menjawab masalah ini, digunakan WebAssembly Secara sederhana, webAssembly dapat dikatakan bahasa untuk web dalam menjalankan aplikasi dengan kecepatan mendekati performa native app.
Contoh aplikasi web yang memanfaatkan WebAssembly adalah Figma. Silakan lihat blog post mengenai bagaimana WebAssembly meningkatkan performa Figma di : https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/
WebAssembly sendiri adalah compilation target. Kita dapat membuat program menggunakan bahasa favorit, kemudian dicompile menjadi WebAssembly. Dalam tutorial ini digunakan Rust.
Mungkin Anda bertanya, mengapa harus menggunakan bahasa lain untuk membuat WebAssembly, berikut alasannya:
- Pertama, memungkinkan developer menggunakan bahasa yang sudah mereka pahami.
- Kedua, WebAssembly bukan bahasa yang mudah dipelajari, lihat perbandingannya dibawah. WASM pada panel atas adalah hasil kompilasi dari program RUST pada panel bawah.

Bahasa Pemograman yang mendukung Compile Target WebAssembly adalah
- C++
- C#
- Java
- Go
- Rust
- AssemblyScript
- Python
- Javascript
- Dan lain-lain
Pada tutorial dipilih Rust, karena Rust adalah bahasa modern yang aman dan disukai banyak developer. Survey dari Scot Logic menyatakan, Rust adalah bahasa yang paling umum digunakan untuk membuat WebAssembly
Bahasa seperti Python dan Javascript tidak disupport penuh. Oleh karena itu disarankan untuk menggunakan bahasa yang memiliki background kuat untuk system programming seperti C++ atau Rust.