⚙️ Jak WebAssembly funguje
Technický proces od zdrojového kódu po spuštění v prohlížeči.
Kroky
- Napíšeš kód v jazyce C, C++, Rust, Go nebo TinyGo
- Zkompiluješ do binárního souboru .wasm pomocí nástroje jako Emscripten
- Prohlížeč stáhne .wasm soubor (malý binární soubor)
- Engine prohlížeče bleskurychle ověří a zkompiluje do strojového kódu
- JavaScript volá funkce z WASM modulu
C / Rust
→
Kompilace
→
.wasm
→
Prohlížeč
→
Spuštění
💻 JavaScript – příklad načtení WASM
// 1. Načtení WASM modulu
const response = await fetch("module.wasm");
const bytes = await response.arrayBuffer();
// 2. Instantiace modulu
const result = await WebAssembly.instantiate(bytes);
// 3. Volání funkce z WASM
console.log(result.instance.exports.sucet(2, 3)); // 5
🔄 Alternativní načtení přes import
// Pomocí ES6 import
import init, { sucet } from './module.js';
await init();
console.log(sucet(2, 3)); // 5
⚠️ Důležité
WASM není náhrada JavaScriptu! V praxi spolupracují:
- JavaScript – obsluha DOM, udalosti, integrace s API prohlížeče
- WASM – výpočetně náročné operace
📌 Shrnutí
WASM funguje jako doplněk k JavaScriptu. Kód v C/Rust se zkompiluje do .wasm, prohlížeč ho bleskurychle načte a zkompiluje, pak JavaScript volá.exporty.