← Cloudflare Workers / workers / runtime-apis
WebAssembly (Wasm)
WebAssembly ↗ (zkráceně Wasm) umožňuje kompilovat jazyky jako Rust, Go nebo C do binárního formátu, který lze spustit v celé řadě prostředí, včetně webové prohlížeče ↗, Cloudflare Workers a další běhová prostředí WebAssembly.
WebAssembly můžete použít k:
-
Spouštějte kód napsaný v jiném jazyce než JavaScript pomocí
WebAssembly.instantiate(). -
Napište celý Cloudflare Worker v Rustu pomocí bindingů, díky nimž jsou JavaScriptová API Workers dostupná přímo z vašeho kódu v Rustu.
Většinu programovacích jazyků lze zkompilovat do Wasm, i když se úroveň podpory u jednotlivých jazyků a kompilátorů liší. Příručky jsou k dispozici pro následující jazyky:
Podporované návrhy
WebAssembly je rychle se vyvíjející soubor standardů, s mnoho navrhovaných API ↗ které jsou v různých fázích vývoje. Workers obecně podporuje stejnou sadu funkcí, jaká je dostupná v Google Chrome.
SIMD
SIMD je ve Workers podporováno. Další informace o používání SIMD ve WebAssembly najdete v Rychlé paralelní aplikace s WebAssembly SIMD ↗.
Vlákna
Ve Workers není vláknění možné. Každý Worker běží v jediném vlákně a Web Worker ↗ API není podporováno.
Velikost binárního souboru
Kompilace do WebAssembly obvykle vyžaduje zahrnutí dalších runtime závislostí. Workery, které používají WebAssembly, jsou proto typicky větší než ekvivalentní Worker napsaný v JavaScriptu. Čím větší váš Worker je, tím déle mu může trvat spuštění. Více informací najdete v Doba spuštění Workeru ↗ další informace. Doporučujeme používat nástroje jako wasm-opt ↗ pro optimalizaci velikosti binárního souboru Wasm.
WebAssembly System Interface (WASI)
WebAssembly System Interface ↗ (zkráceně WASI) je modulární systémové rozhraní pro WebAssembly, které standardizuje sadu základních systémových volání pro sítě, přístup k souborovému systému a další. Aplikace se mohou spolehnout na to, že se WebAssembly System Interface bude chovat stejně napříč hostitelskými prostředími a operačními systémy.
WASI je starší a rychleji se vyvíjející soubor standardů než Wasm. Podpora WASI je na Cloudflare Workers experimentální a implementovány jsou pouze některé systémové volání. Více informací najdete v našem open source implementace WASI ↗, a článek na blogu o WASI ve Workers ↗ demonstrující jeho použití.