Cara WASM Berjalan di Browser
Pahami model eksekusi di balik WebAssembly: cara mesin mengompilasi, membuat instans, dan menjalankan WASM bersama JavaScript.
Cara WASM Berjalan di Browser adalah pelajaran WebAssembly (WASM) for High Performance Apps gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar WebAssembly (WASM) for High Performance Apps, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus WebAssembly (WASM) for High Performance Apps mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
WASM Is Not Interpreted Bytecode... Quite
WASM ships as a compact binary that the browser engine turns into fast machine code — compiled and run near native speed, not interpreted line-by-line. Let's trace its path.
The .wasm Binary
A WASM module is a .wasm file: a stack-based binary with sections for types, functions, memory, and exports. WAT is its readable text twin.
(module
(func (export "add") (param i32 i32) (result i32)
local.get 0
local.get 1
i32.add))Step 1: Fetch the Module
Step 1: the browser fetches the binary, usually with fetch, reading it into an ArrayBuffer.
const response = await fetch('add.wasm');
const bytes = await response.arrayBuffer();Step 2: Compile
Step 2: the engine validates and compiles those bytes into machine code, producing a WebAssembly.Module.
const module = await WebAssembly.compile(bytes);Step 3: Instantiate
Step 3: instantiation creates a live WebAssembly.Instance with its own memory and exported functions, ready to call.
const instance = await WebAssembly.instantiate(module, {});
const add = instance.exports.add;Streaming Compilation
Streaming compilation compiles while downloading — no buffering the whole file first. Use instantiateStreaming for the fastest start.
const { instance } = await WebAssembly.instantiateStreaming(
fetch('add.wasm'), {}
);Calling Exported Functions
Once instantiated, WASM exports behave like ordinary JS functions — just call them with arguments and get results back.
const result = instance.exports.add(2, 3);
console.log(result); // 5Linear Memory
Linear memory is one contiguous, resizable ArrayBuffer that both JS and WASM read and write. It's how larger data crosses the boundary.
const mem = new Uint8Array(instance.exports.memory.buffer);The Sandbox
WASM runs in a strict sandbox: no direct DOM, network, or file access — it can only call functions JS imports in. That's what keeps it safe and portable.
Importing JS Into WASM
To give WASM capabilities, pass an imports object at instantiation. WASM can then call those JS functions — the only way it reaches the outside world.
const imports = { env: { log: (x) => console.log(x) } };
const { instance } = await WebAssembly.instantiate(bytes, imports);Putting It Together
The lifecycle in one line: fetch, compile, instantiate, call. Data crosses via linear memory, and JS controls the sandbox through imports.
Quick Check
Which API both compiles and instantiates a WASM module as it downloads?
Recap
Recap: a binary is fetched, compiled, and instantiated; streaming overlaps the two; exports act like JS functions sharing linear memory; the sandbox stays safe via imports.
Belajar WebAssembly (WASM) for High Performance Apps dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Cara WASM Berjalan di Browser” gratis?
Ya — teks lengkap “Cara WASM Berjalan di Browser” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus WebAssembly (WASM) for High Performance Apps, upgrade ke CoddyKit PRO. Kursus WebAssembly (WASM) for High Performance Apps mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Cara WASM Berjalan di Browser”?
Pahami model eksekusi di balik WebAssembly: cara mesin mengompilasi, membuat instans, dan menjalankan WASM bersama JavaScript. Kamu berlatih WebAssembly (WASM) for High Performance Apps dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai WebAssembly (WASM) for High Performance Apps?
Tidak diperlukan pengalaman sebelumnya. WebAssembly (WASM) for High Performance Apps di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Cara WASM Berjalan di Browser” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran WebAssembly (WASM) for High Performance Apps ini?
Ya. Setiap pelajaran WebAssembly (WASM) for High Performance Apps menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Apa Itu WebAssembly (WASM)?
- Mengapa Menggunakan WASM? Manfaat Utama
- Ekosistem & Peralatan WASM
- Cara WASM Berjalan di Browser