>웹 프론트엔드 >프런트엔드 Q&A >웹어셈블리란 무엇인가요? 웹어셈블리에 대한 간단한 이해

웹어셈블리란 무엇인가요? 웹어셈블리에 대한 간단한 이해

青灯夜游
青灯夜游원래의
2019-03-20 17:11:1516718검색

WebAssembly, 줄여서 wasm은 최신 웹 브라우저에서 실행되는 새로운 유형의 코드로, 주로 웹 플랫폼을 대상으로 안전하고 효과적인 방식으로 이식 가능한 프로그램을 실행하기 위한 새로운 기술입니다. 다음 기사에서는 WebAssembly를 소개하겠습니다. 도움이 되길 바랍니다.

웹어셈블리란 무엇인가요? 웹어셈블리에 대한 간단한 이해

웹어셈블리란 무엇인가요?

WebAssembly 또는 wasm은 브라우저 내 클라이언트 측 스크립트를 위한 하위 수준의 이식 가능한 바이트 코드 형식으로, 최신 웹 브라우저에서 실행되고 브라우저 다운로드에 유효한 새로운 유형의 코드입니다. 그리고 짐.

C, C++, Rust 등 저수준 소스 언어에 대한 효율적인 컴파일 타겟을 제공하도록 설계되었습니다.

사실 WebAssembly는 기존 JavaScript 엔진 뒤에 있는 브라우저 개발자에 의해 구현됩니다. 기본적으로 웹의 컴파일러 및 번역기 대상으로 JavaScript를 대체하는 것을 목표로 합니다. 예를 들어, TypeScript를 JavaScript로 컴파일하는 대신 이제 개발자는 WebAssembly로 컴파일할 수 있습니다. 간단히 말해서 이는 새로운 가상 머신이 아니라 모든 브라우저에 포함된 동일한 JavaScript VM에 대한 새로운 형식입니다. 이를 통해 JavaScript를 사용하지 않고도 기존 JavaScript 인프라를 활용할 수 있습니다.

WebAssembly를 사용하는 이유?

C, C++, Java 등과 같은 기본 언어로 작성된 모듈을 브라우저에서 실행하려는 경우. 소스 언어를 대상 언어 JavaScript로 변환하려면 변환기만 필요합니다.

WebAssembly의 경우 변환기를 생략하고 C, C++, Java 등의 네이티브 언어를 기계어 코드로 직접 컴파일할 수 있습니다. 효율성이 크게 향상되었습니다.

브라우저는 언어 형식에 대한 컴파일 지원을 추가하여 실행 효율성을 획기적으로 향상시켰습니다.

빠른 실행 외에도 WebAssembly의 특수 바이너리 표현은 코드 패키지의 크기를 크게 줄여줍니다. 동시에 브라우저 로딩 속도도 향상됐다.

WebAssembly의 장점:

1. 빠르고 효율적입니다.

WebAssembly는 모듈 구조로 인해 바이트코드가 바이너리 형식으로 전송됩니다. 속도를 더욱 높이기 위해 병렬로 컴파일되어 거의 기본 성능으로 실행될 수 있습니다. C, C++, Rust 등 저수준 소스 언어에 대한 효율적인 컴파일 대상을 제공하도록 설계되었습니다.

2. 이식성

웹어셈블리는 다른 플랫폼으로 이식될 수 있습니다. 즉, WebAssembly로 컴파일되는 언어로 소프트웨어를 작성하면 .NET에서 실행할 수 있습니다. 이를 통해 웹에서 기존 JavaScript 인프라를 재사용할 수 있습니다.

WebAssembly 코드는 다양한 플랫폼에서 거의 기본 속도로 실행될 수 있습니다.

3. 읽기 가능하고 디버그 가능

WebAssembly는 저수준 어셈블리 언어이지만 사람이 읽을 수 있는 매우 일반적인 텍스트 형식으로 설계되어 있어 수동으로 코드를 작성하고, 코드를 보고, 코드를 디버깅할 수 있습니다. .

4. 보안

WebAssembly는 샌드박스 실행 환경에서 실행되며 기존 JavaScript 가상 머신에서도 구현될 수 있습니다. 웹 환경에서 WebAssembly는 동일 원본 정책과 브라우저 보안 정책을 엄격히 준수합니다.

【관련 추천 기사】

GraphQL이란? GraphQL의 장점과 단점

이상이 이 글의 전체 내용이며, 모든 분들의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 웹어셈블리란 무엇인가요? 웹어셈블리에 대한 간단한 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.