이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
웹 어셈블리(WASM)는 스택 기반 가상 머신을 위한 새로운 이진 명령 형식입니다. 프로그래밍 언어에 대한 이식성, 크기 및 로드 시간 효율적인 컴파일 대상으로 설계되어 클라이언트 및 서버 응용 프로그램을 웹에 배포할 수 있습니다.
웹 어셈블리(WASM)는 C, C++, Rust 등과 같은 프로그래밍 언어의 컴파일 대상이 되도록 설계된 저수준 어셈블리 유사 언어입니다. 크기, 로드 시간 및 실행 시간 측면에서 효율적으로 설계된 이진 명령 형식입니다. WASM은 고급 언어 컴파일을 위한 이식 가능한 대상으로 설계되어 클라이언트 측 및 서버 측 애플리케이션 모두를 위해 웹에 배포할 수 있습니다.
WASM은 안전한 샌드박스 실행 환경으로 설계되어 사용자의 보안을 손상시키지 않고 웹에서 코드를 실행할 수 있습니다. 또한 JavaScript보다 더 효율적인 웹에서 코드를 실행하는 방법을 제공하여 더 나은 성능과 더 빠른 로딩 시간을 허용합니다.
WASM 코드는 AOT(ahead-of-time)에서 바이너리 형식으로 컴파일된 다음 가상 머신에서 로드 및 실행됩니다. 이 가상 머신은 웹 브라우저에 내장되거나 독립 실행형 애플리케이션으로 구현될 수 있습니다.
Web Assembly는 2015년 W3C(World Wide Web Consortium)에서 새로운 웹 플랫폼을 만들기 위한 노력의 일환으로 처음 발표했습니다. 이 언어의 초기 버전은 2017년에 출시되었으며 이후 몇 가지 업데이트가 있었습니다.
WASM은 웹 애플리케이션을 위한 매력적인 컴파일 대상이 되도록 하는 여러 기능을 제공합니다.
다음은 C로 작성되고 WASM으로 컴파일된 간단한 프로그램의 예입니다.
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
이 프로그램은 Emscripten과 같은 도구를 사용하여 WASM으로 컴파일할 수 있습니다.
emcc hello.c -o hello.wasm
이렇게 하면 WASM 바이너리가 생성되어 WASM 가상 머신에서 로드하고 실행할 수 있습니다.
WASM은 다른 웹 기술에 비해 여러 가지 장점이 있습니다.
그러나 WASM을 사용하면 몇 가지 단점도 있습니다.
WASM은 JavaScript 및 WebGL과 같은 다른 웹 기술과 관련이 있습니다. JavaScript는 동적 웹 페이지를 만드는 데 사용되는 스크립팅 언어인 반면 WebGL은 웹 브라우저에서 하드웨어 가속 3D 그래픽을 허용하는 그래픽 API입니다.
WASM은 웹 애플리케이션 개발 방식을 혁신할 수 있는 잠재력을 가진 흥미로운 신기술입니다. JavaScript보다 더 효율적인 웹에서 코드를 실행하는 방법을 제공하여 더 나은 성능과 더 빠른 로딩 시간을 허용합니다. 또한 안전한 샌드박스 실행 환경으로 설계되어 사용자의 보안을 손상시키지 않고 웹에서 코드를 실행할 수 있습니다.