Learning WebAssembly Series
A series of learning texts covering the first steps with WebAssembly for complete beginners.
Some time ago I started learning WebAssembly as an absolute beginner. It has been an exciting but not so simple journey.
I decided to publish my continuous and probably neverending notices to make your learning path a little easier.
Here is the actual list of finished and planned posts. I will constantly update and extend it.
- Hello, World of Wasm!
- Let’s try WebAssembly for the first time. We will create a simple program in the Wat text format, compile it into Wasm binary, and finally execute it in a browser and as a server application.
- Wasm Binary Format
- We will explore the structure of the Wasm binary format byte by byte.
- Wat Programming Basics
- Finally some real programming! We will learn the very basics of the Wat text format, how to work with functions and variables, write conditions, and loops.
- Wasm Memory and Working with Strings
- The concept of memory objects is very important know-how in Wasm. We will use it to deal with strings.
- Running Wasm in the Browser
- WebAssembly is part of the web platform, thus it is important to understand interactions between Wasm and JavaScript. We will learn about shared memory and global variables.
- Running Wasm in Node.js
- Browser is not the only environment that Wasm can run in. We will also learn how to execute Wasm in Node.js, the popular backend platform, as well.
- Introducing WASI
- WebAssembly System Interface (WASI) provides access to several operating-system-like features from Wasm. We will learn how to write programs that use WASI.
- Compiling into Wasm
- There are plenty of languages that can be compiled into Wasm. We will take a look at some of them.
- AssemblyScript Basics
- AssemblyScript syntax is very close to JavaScript and as such is an ideal candidate to write Wasm in. We will explore the basics of AssemblyScript and create a few neat programs.
- Image Processing in AssemblyScript
- WebAssembly is a great fit for computation-intensive tasks like generating and processing graphics. We will experiment in this field a little.
- Compiling to WebAssembly with Binaryen
- Compile your own programming language to WebAssembly binary instruction format (Wasm) using Binaryen’s JavaScript API.
- 2D Video Game in AssemblyScript
- How to build a web-based video game from scratch with HTML canvas and AssemblyScript.
You are welcome to join me on the exciting journey of learning WebAssembly!