핵심 요약
NAVER D2의 글은 2020년 이후 WebAssembly의 변화와 2026년 현재 상태를 정리합니다. wasm 2.0의 Memory64, 128비트 SIMD, 참조 타입, 다중 메모리, bulk memory가 주요 방향이며, 3.0은 꼬리 호출, exnref, typed function refs, GC 통합을 포함합니다. 또한 ESM 통합과 JS interop, WASI의 변화가 브라우저 밖 생태계까지 확장됐습니다.
구현 방법
- wasm 2.0: Memory64, 128비트 SIMD, 참조 타입, bulk memory, 다중 메모리
- wasm 3.0: tail_call/return_call, exnref, typed refs, GC와 예외 지원
- JS interop/ESM: 두 가지 import 경로, JSPI, Stack Switching
- 브라우저 밖: WASI 0.2→0.3, Component Model, WasmGC
- 상태 요약: Chrome/Firefox/Safari/Node의 지원과 Wasmtime의 진행
주요 결과
- GC 지원 확대: Chrome 119, Firefox 120, Safari 18.2, Node 22; Wasmtime 47
- Memory64와 다중 메모리, 3.0 핵심 기능의 광범위 채택
- wasm:js-string 및 JS 문자열 빌딩으로 문자열 처리 개선
- ESM 통합은 Vite/Node에서 확산, Sheets의 WasmGC 사례로 대규모 런타임 가능성 확인
