Intro: What is Wasm?
stack machine, ทำไม & ที่ไหน Wasm รัน, module แรกของคุณ เริ่ม →
Intro: What is Wasm?
stack machine, ทำไม & ที่ไหน Wasm รัน, module แรกของคุณ เริ่ม →
The WAT Text Format
module, func, value type, local & stack, เลขคณิต เขียน WAT →
Control Flow & Functions
block, branch, loop, if/else, call & recursion แตกแขนง →
JS Interop & Loading
instantiate, import & export, streaming, การส่งตัวเลข เชื่อมต่อ →
Linear Memory & Data
ArrayBuffer ที่แชร์กัน, typed-array view, การส่ง string, การขยาย หน่วยความจำ →
Languages to Wasm
Rust (wasm-bindgen), C (Emscripten), AssemblyScript, การเลือกภาษา คอมไพล์ →
Tooling
wabt, Binaryen (wasm-opt), การตรวจสอบ & ลดขนาด .wasm เครื่องมือ →
WASI & Beyond the Browser
WASI, wasmtime/wasmer, component model, use case จริง ไปต่อ →
รันใน browser ของคุณ
เขียน WAT แล้วกด Run — โค้ดจะคอมไพล์เป็น Wasm และรันตรงนี้เลยพร้อมผลลัพธ์จริง ไม่ต้องติดตั้ง
ไดอะแกรมที่อธิบายชัด
stack machine, flow การ compile→instantiate และ memory layout เป็นไดอะแกรม Mermaid
Toolchain จริง
คอมไพล์ Rust, C และ AssemblyScript เป็น Wasm — เปิดโปรเจกต์ AssemblyScript ที่รันได้ใน StackBlitz
สองภาษา + read mode
ภาษาอังกฤษและไทย, แบบทดสอบที่บันทึกความคืบหน้า และโหมดอ่านแบบไร้สิ่งรบกวน
ข้อเท็จจริง โค้ด และ claim ที่เกี่ยวกับเวอร์ชันในคอร์สนี้ ถูกตรวจสอบครั้งล่าสุดกับ toolchain จริงและเอกสารทางการเมื่อเดือนกันยายน 2026:
| เครื่องมือ | เวอร์ชันที่ตรวจสอบ |
|---|---|
| Rust / Cargo | 1.96.1 |
wasm-bindgen-cli | 0.2.128 |
wasm-pack (ยัง maintain อยู่ภายใต้ rustwasm) | 0.13.1 |
| Wasmtime | 49.0.0 |
WABT (wat2wasm, wasm2wat) | 1.0.42 |
Binaryen (wasm-opt) | version 133 |
| Node.js | 24.13.0 |
ถ้าบทเรียนไหนระบุ standardization phase ของ proposal ใดๆ (เช่น Component Model, Threads) หรือเวอร์ชัน WASI preview ก็อ้างอิงตาม WebAssembly/proposals และ repo WASI ณ วันที่เดียวกัน — ถ้าคุณอ่านบทความนี้หลังจากนั้นนานมาก ให้เช็คของจริงอีกครั้ง เพราะ phase เปลี่ยนได้เสมอ