||||<tablealign=right><color=#ffffff><bgcolor=#6a5acd><:>{{{+1 WebAssembly}}}|| ||||<:>[[파일:WASM.png|width=140&height=140]]|| ||<color=#ffffff><bgcolor=#6a5acd><:>'''특징'''||명령형, 구조적, 정적 타이핑|| ||<color=#ffffff><bgcolor=#6a5acd><:>'''최초 공개'''||2017년 3월|| ||<color=#ffffff><bgcolor=#6a5acd><:>'''설계'''||[[W3C]]|| ||<color=#ffffff><bgcolor=#6a5acd><:>'''개발'''||[[W3C]], [[Mozilla]], [[Microsoft]], [[Google]], [[Apple]]|| ||<color=#ffffff><bgcolor=#6a5acd><:>'''라이선스'''||[[아파치 라이선스|Apache License 2.0]]|| ||<color=#ffffff><bgcolor=#6a5acd><:>'''파일 확장자'''||.wat[br].wasm|| ||||<:>[[https://webassembly.org/|홈페이지]]|| [목차] [clearfix] == 개요 == [[프로그래밍 언어]]로, [[웹 브라우저]]에 실행되는 용도로 만들어진 [[어셈블리어]]/바이트코드 언어이다. 주로 [[C언어|C]], [[C++]]와 [[Rust]] 같은 컴파일되는 언어로 우선 프로그램이 작성되고 컴파일한다. == 역사 == 2015년부터 [[JavaScript]]의 느린 속도를 보완하기 위해 개발되었다. == 예시 == C 소스 코드 {{{#!syntax cpp #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 }}} == 주요 프레임워크 == * [[Blazor]] - [[C\#|C#]] 기반. [[ASP.NET]]에 템플릿 엔진인 Razor을 웹어셈블리로 포트했다. [[분류:프로그래밍 언어]][[분류:웹]]