WebAssembly

최근 수정 시각: (5년 전)
WebAssembly
특징
명령형, 구조적, 정적 타이핑
최초 공개
2017년 3월
설계
개발
라이선스
파일 확장자
.wat
.wasm

목차
1. 개요2. 역사3. 예시4. 주요 프레임워크


1. 개요 [편집]

프로그래밍 언어로, 웹 브라우저에 실행되는 용도로 만들어진 어셈블리어/바이트코드 언어이다. 주로 C, C++Rust 같은 컴파일되는 언어로 우선 프로그램이 작성되고 컴파일한다.

2. 역사 [편집]

2015년부터 JavaScript의 느린 속도를 보완하기 위해 개발되었다.

3. 예시 [편집]

C 소스 코드
#include <stdio.h>

int factorial(int n) {
  if (n == 0)
    return 1;
  else
    return n * factorial(n-1);
}

WebAssembly IR

get_local 0
i64.eqz
if (result i64)
i64.const 1
else
get_local 0
get_local 0
i64.const 1
i64.sub
call 0
i64.mul
end

WebAssembly 바이너리

20 00
50
04 7E
42 01
05
20 00
20 00
42 01
7D
10 00
7E
0B

4. 주요 프레임워크 [편집]

  • Blazor - C# 기반. ASP.NET에 템플릿 엔진인 Razor을 웹어셈블리로 포트했다.

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.