웹개발/front-end

웹어셈블리(WebAssembly)

지구별 여행자 임탱 2024. 6. 20. 08:03
728x90

웹 어셈블리 (WebAssembly, 간단히 Wasm) 2015년 4월, 웹 어셈블리 커뮤니티 그룹(WebAssembly Community Group)에서 처음 발표한 이 기술은 웹 브라우저에서 실행되는 고성능 바이너리 코드 형식입니다. 웹어셈블리를 사용하면 C/C++ 및 Rust와 같은 언어로 작성된 모듈을 웹에서 실행할 수 있습니다. 웹어셈블리는 JavaScript API를 통해 웹 브라우저와 상호 작용할 수 있습니다.

 

웹어셈블리의 등장 배경

 1. 2015년부터 JavaScript의 느린 속도를 보완 및 대체하기 위해 개발되었습니다. 

 2. 2019년부터 웹브라우저 밖 다양한 환경에서 활용하는 (런타임, WASI 등) 연구가 진행되고 있습니다. 

 

웹어셈블리의 특징

 최신 웹 브라우저에서 실행할 수 있는 새로운 유형의 코드입니다.

 새로운 기능과 성능 면에서 큰 이점을 제공합니다. 

 다양한 고수준 프로그래밍 언어로 작성된 코드를 언어 중립적인 바이트 코드로 컴파일하여 웹 브라우저에서 빠르게 실행할 수 있습니다. 

 

웹어셈블리의 장단점

 1. 장점

    - 성능 향상

    - 이식성 증가

    - 언어 간 상호 운용성 향상

 2. 단점

    - 디버깅의 어려움

    - 보안 문제 

 

웹어셈블리의 활용 분야

웹어셈블리는 게임, 시뮬레이션, 데이터 시각화, 머신러닝 등 다양한 분야에서 활용되고 있습니다. 특히 웹 브라우저에서 고성능 애플리케이션을 구현하는 데 유용합니다.

예를 들어, 웹어셈블리를 사용하면 3D 게임, 오디오/비디오 처리, 암호화 알고리즘 등을 웹 브라우저에서 빠르게 실행할 수 있습니다. 또한 데이터 시각화 라이브러리나 머신러닝 모델을 웹에 배포할 때 웹어셈블리를 활용할 수 있습니다.

 

 

웹어셈블리 | MDN (mozilla.org)

 

웹어셈블리 | MDN

WebAssembly는 최신 웹 브라우저에서 실행할 수 있는 새로운 유형의 코드입니다. 네이티브에 가까운 성능으로 동작하며 컴팩트한 바이너리 포맷을 제공하는 저수준 어셈블리 언어로, C/C++, Rust 등과

developer.mozilla.org