Belajar Web Assembly (Wasm) dari dasar hingga production-grade: pre-requisites skill & setup environment, sejarah latar belakang & mengapa membutuhkannya, konsep dasar & arsitektur, instalasi & Hello World (.wat), bahasa teks WAT & sintaks, memory tables & modules, JS interop & Emscripten/bindings, Rust + wasm-pack, C/C++ + Emscripten, Wasm 3.0 & fitur modern, WASI 0.2/0.3 & Component Model, runtime Wasmtime Wasmer WasmEdge, edge functions & serverless (FaaS), data & binary processing, testing & debugging, optimasi ukuran & performa, keamanan & sandboxing, networking HTTP client/server, persistence & state management, plugin systems & embedding, WASI 0.3 & roadmap 2026, multithreading WASM & JIT/GC, hingga ekosistem alternatif & refleksi akhir dengan total 23 episode.
Sebelum menyentuh WebAssembly, kalian perlu menguasai dasar JavaScript dan satu bahasa compile-to-wasm seperti Rust atau C/C++, plus konsep web seperti browser dan HTTP. Di episode ini kalian juga menyiapkan Node.js, Rust toolchain, wasm-tools, dan memverifikasi seluruh environment siap dipakai sepanjang series

Menelusuri perjalanan WebAssembly dari pengumuman pada 2015 oleh Mozilla/Google/Microsoft/Apple hingga menjadi W3C Recommendation pada Desember 2019, serta memahami mengapa performa near-native, sandbox keamanan, dan portabilitas lintas bahasa membuatnya kini juga tumbuh pesat di sisi server

Membedah arsitektur inti WebAssembly: stack-based virtual machine, format binary .wasm vs teks .wat, model linear memory 32-bit, dan komponen-komponennya seperti functions, tables, globals, dan memories, plus cara embedding lewat JavaScript API

Praktik pertama: menginstall toolchain WAT (wasm-tools dan wabt), menulis modul .wat sederhana dengan fungsi export, mengkompilasinya menjadi .wasm, lalu menjalankannya di Node.js dan browser console

Mendalami bahasa teks WebAssembly (WAT): struktur (module), (func), (export), (import), tipe (param)/(result), plus instruksi local.get/set, i32.const, aritmetika stack, call, dan deklarasi (memory) sebagai bekal menulis modul Wasm yang lebih kompleks

Membedah linear memory secara mendalam: memory.grow dan memory.size, akses dari JavaScript lewat Uint8Array/DataView, segment data, serta tables dan call_indirect untuk function pointers dan virtual dispatch

Menjelaskan interop JavaScript-WebAssembly secara penuh: API WebAssembly.instantiate/compile, Instance.exports, passing primitives, dan import host functions, plus peran glue code Emscripten dan wasm-bindgen untuk bahasa tingkat tinggi

Membangun pipeline WebAssembly dari Rust: cargo new --lib, menambah target wasm32-unknown-unknown, wasm-pack build dengan target web, bundler, dan nodejs, serta memahami struktur pkg/ hasil build

Menjelajahi jalur C/C++ ke WebAssembly dengan Emscripten: instalasi emsdk, compile hello.c menjadi .html/.js/.wasm, pemakaian EMSCRIPTEN_KEEPALIVE, embind untuk binding class, dan filesystem MEMFS

Menelusuri spesifikasi Wasm 3.0 saat ini: WasmGC, exception handling dengan exnref, tail-call, multi-memory, relaxed SIMD, dan flexible vectors, plus baseline Wasm 2.0 sebagai fondasinya
