.wasm
Other
WebAssembly 바이너리
WebAssembly(Wasm)는 스택 기반 가상 머신을 위한 바이너리 명령어 형식입니다. 게임, 영상 편집, CAD, 과학 시뮬레이션 같은 애플리케이션에서 네이티브에 가까운 성능을 브라우저에서 구현할 수 있게 합니다. C, C++, Rust, Go의 코드를 Wasm으로 컴파일하여 이식 가능하게 실행할 수 있습니다.
MIME 타입
application/wasm
유형
바이너리
압축
무손실
장점
- + Near-native execution speed in web browsers
- + Compile from C, C++, Rust, Go, and more
- + Sandboxed execution for security
- + Portable — runs in browsers and server-side via WASI
단점
- − No direct DOM access — requires JavaScript interop
- − Debugging is harder than JavaScript
- − Binary format is not human-readable
.WASM 사용 시점
CPU 집약적인 웹 애플리케이션, 브라우저로의 네이티브 코드 포팅, WASI를 통한 서버리스 엣지 함수에 Wasm을 사용하세요.
기술 세부사항
Wasm은 타입이 지정된 함수, 선형 메모리, 안전성을 보장하는 검증 단계를 포함하는 컴팩트한 바이너리 형식을 사용합니다. DOM에 직접 접근할 수 없는 샌드박스 환경에서 실행되며, JavaScript 브리지가 I/O를 제공합니다. WASI는 서버 사이드 용도로 Wasm을 확장합니다.
역사
W3C는 2017년에 Mozilla, Google, Microsoft, Apple이 개발한 WebAssembly 1.0을 출시했습니다. 확정적이고 예측 가능한 성능으로 JavaScript를 보완하는 웹용 컴파일 대상으로 설계되었습니다.