Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

홈

WebAssembly 컴포넌트 모델은 상호 운용 가능한 WebAssembly 라이브러리, 애플리케이션, 환경을 구축하기 위한 광범위한 아키텍처입니다.

이 문서는 컴포넌트 모델의 사용자, 즉 라이브러리와 애플리케이션 개발자를 대상으로 합니다.

Note

컴파일러 및 Wasm 런타임 개발자는 컴포넌트 모델 명세를 참고하여 자신의 프로젝트에 컴포넌트 모델 지원을 추가하는 방법을 확인할 수 있습니다.

목차

WebAssembly 컴포넌트

모든 프로그래밍과 마찬가지로, 컴포넌트를 작성하는 목표는 기존 기능을 바탕으로 새로운 기능을 구축하여 사용할 수 있게 하는 것입니다.

WebAssembly 컴포넌트는 플랫폼에서 실행되며, 이 플랫폼은 웹 브라우저, 독립 실행형 런타임, 또는 (WebAssembly를 실행 파일로 컴파일하는 경우) 운영 체제일 수도 있습니다. 플랫폼은 컴포넌트를 실행함으로써 해당 컴포넌트가 구현하는 기능을 얻게 됩니다. 마찬가지로, 플랫폼은 컴포넌트 내의 코드가 외부 세계와 상호작용하는 데 사용할 수 있는 기능을 제공합니다.

예를 들면 다음과 같습니다.

  • 컴포넌트 모델 사용자는 시스템 시간을 다른 시간대로 변환하는 컴포넌트를 빌드할 수 있습니다.
  • 컴포넌트가 의도한 대로 작동하려면, 기반 플랫폼이 현재 시스템 시간과 시스템 시간대에 접근할 수 있는 수단을 컴포넌트에 제공해야 합니다.

WebAssembly 컴포넌트 빌드를 위한 API

일반적으로 컴포넌트를 실행하는 플랫폼은 컴포넌트에 필요한 기능에 접근하기 위한 잘 정의된 API를 제공해야 합니다. 예를 들어 표준 입력에서 읽기, 환경 변수에 접근하기, 네트워크 소켓 조작하기 등이 있습니다.

WebAssembly 컴포넌트가 의존할 수 있는 표준화된 공용 API 집합이 있으면 유용합니다. WASI(WebAssembly 시스템 인터페이스)는 이러한 API를 정의하는 표준화 과정의 명세입니다. 시스템이나 플랫폼은 WASI API의 일부 또는 전부를 컴포넌트에 노출할 수 있습니다.

상태

WASI의 현재 안정 릴리스는 2024년 1월 25일에 릴리스된 WASI 0.2.0입니다. WASI 0.2.0은 컴포넌트가 대상으로 삼을 수 있는 안정적인 WIT 정의 집합입니다. WASI 제안은 계속 발전하고 새로운 제안도 도입될 것입니다. 그러나 이제 컴포넌트 모델 사용자는 >= v0.2.0인 모든 안정 릴리스에 고정할 수 있습니다. WASI.dev 로드맵에서 예정된 릴리스를 추적합니다.

기여하기

오류, 누락, 모호한 부분 또는 기타 문제를 발견하시면 GitHub 이슈를 통해 알려 주십시오.

이 가이드에 콘텐츠를 기여하고 싶으시다면 기여 방법에 관한 정보는 기여 가이드를 참고하십시오.


원문 © 2023 The Bytecode Alliance Contributors · WebAssembly Components Documentation · CC BY 4.0
Yeokja 한국어 번역·편집 · Anthropic 사의 claude-sonnet-5 모델을 활용하여 번역되었으며 학습을 모두 비허용한 상태로 작업하였습니다 · 이 번역은 원문을 수정한 문서이며 CC BY 4.0으로 제공합니다.