컴포넌트 만들기
많은 인기 프로그래밍 언어를 WebAssembly로 컴파일할 수 있지만, 지원 수준은 언어마다 다릅니다. 이 문서에서는 WASI를 사용하는 WebAssembly를 대상 플랫폼으로 지원하는 컴파일러와 런타임을 갖춘 언어를 자세히 설명합니다.
이 문서는 계속 갱신되는 문서이므로, 툴체인의 발전 사항을 알고 계시다면 주저하지 말고 문서에 기여하십시오. 특정 언어 지원 개발에 대한 자세한 내용은 게스트 언어 Special Interest Group 제안서 문서에서 확인하십시오.
컴포넌트의 이점 중 하나는 호스트 런타임 간 이식성입니다. 런타임은 컴포넌트를 임포트하거나 실행하기 위해 해당 컴포넌트가 어떤 월드를 대상으로 하는지만 알면 됩니다. 이 언어 가이드는 examples/tutorial/wit/adder/world.wit에 정의된 공통 adder 월드를 사용하여 이를 보여 주고자 합니다. 또한 컴포넌트를 실행할 수 있도록 example 월드를 이해하는 예제 호스트가 examples/example-host에 제공되어 있습니다. 각 툴체인 섹션에서는 이 월드의 컴포넌트를 만드는 과정을 단계별로 설명하며, 이렇게 만든 컴포넌트는 예제 호스트에서 실행하거나 해당 툴체인의 애플리케이션에서 실행할 수 있습니다. 이를 통해 툴체인 내부와 툴체인 간에 컴포넌트를 사용하는 전체 과정을 제공하는 것을 목표로 합니다.
각 섹션에서는 특정 툴체인에서 컴포넌트를 빌드하고 실행하는 방법을 다룹니다. 마지막 섹션인 WebAssembly 텍스트 형식(WAT)에서는 고수준 언어 프런트엔드를 사용하지 않고 WebAssembly 컴포넌트를 직접 작성하는 방법을 자세히 설명합니다.