WebAssembly (WASM) for High Performance Apps · Pelajaran

Cara WASM Berjalan di Browser

Pahami model eksekusi di balik WebAssembly: cara mesin mengompilasi, membuat instans, dan menjalankan WASM bersama JavaScript.

Pelajaran 4 dari 413 langkah

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); // 5

Linear 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.

Gratis untuk memulai

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

  1. Apa Itu WebAssembly (WASM)?
  2. Mengapa Menggunakan WASM? Manfaat Utama
  3. Ekosistem & Peralatan WASM
  4. Cara WASM Berjalan di Browser
← Kembali ke WebAssembly (WASM) for High Performance Apps