WebAssembly를 위한 언어
기존 TypeScript와 비슷한 문법을 사용하지만 WebAssembly의 기능을 대상으로 설계한 언어다. 익숙한 웹 개발 문법을 유지하면서 낮은 수준의 코드 제어를 제공하는 것을 지향한다. 일반 JavaScript를 실행하는 런타임과는 역할이 다르다.
컴파일러와 최적화 기반
컴파일러는 Binaryen을 사용해 WebAssembly 모듈을 생성한다. 사람이 작성한 언어 표현과 실제 실행할 모듈 사이를 연결한다. 컴파일러와 이를 받쳐 주는 WebAssembly 변환 및 최적화 기반을 함께 구성하는 방식이다.
웹 개발 흐름과의 연결
npm으로 설치해 기존 웹 개발 생태계에서 사용할 수 있다. 웹 페이지의 JavaScript가 생성한 모듈을 불러와 내보낸 함수를 호출하는 구성을 만들 수 있다. 모듈의 코드 작성과 이를 포함하는 호스트 응용을 연결한다.
관련 문서
Binaryen / Wasm Bindgen / Wasm Pack / 웹어셈블리 / JavaScript / 컴파일러