개발 XNUMX 년 후 첫 번째 버전의 출시가 발표되었습니다 중요한 프로젝트 WebAssembly 모듈을 실행하기위한 런타임을 개발하는 Wasmer.
Wasmer 사용 영역 범용 응용 프로그램 생성 포함 실행할 수있는 다른 운영 체제에서 뿐만 아니라 신뢰할 수없는 코드의 격리 된 실행의 구성. 서버 애플리케이션 빌드 포함이 지원됩니다. 예를 들어 WebAssembly에서 컴파일 된 Nginx 서버 릴리스가 시연되었습니다.
Wasmer 정보
휴대 성 미들웨어에서 애플리케이션 코드를 컴파일하여 모든 운영 체제에서 실행되거나 다른 프로그래밍 언어의 프로그램에 통합 될 수있는 저수준 웹 어셈블리입니다.
프로그램 WebAssembly 의사 코드를 실행하는 경량 컨테이너입니다. 이러한 컨테이너는 운영 체제와 관련이 없으며 원래 모든 프로그래밍 언어로 작성된 애플리케이션을 포함 할 수 있습니다.
툴킷 Emscripten을 사용하여 WebAssembly에서 컴파일 할 수 있습니다.WebAssembly를 현재 플랫폼의 기계 코드로 변환하는 것 외에도 LLVM 및 Cranelift 코드 생성기와 같은 여러 프레임 워크가 연결됩니다.
반면에 액세스 제어 및 시스템과의 상호 작용은 WASI (WebAssembly System Interface) API를 통해 제공되며, 이는 운영 체제에서 제공하는 파일, 소켓 및 기타 기능 작업을위한 프로그래밍 인터페이스를 제공합니다.
그 외에 응용 프로그램은 샌드 박스 환경의 호스트 시스템에서 격리되고 선언 된 기능 (관리 기능에 기반한 보안 메커니즘, 각 리소스 (파일, 디렉토리, 소켓, 시스템 호출 등)과 관련된 작업의 경우 응용 프로그램이 해당 권한을 받아야 함)에만 액세스 할 수 있습니다.
프로그램은 WAPM 패키지 관리자를 통해 관리 할 수있는 일반 WebAssembly 모듈의 형태로 배포됩니다.
Wasmer도 다양한 언어로 사용할 수있는 라이브러리로 제공됩니다. 프로그램 작성. Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir 및 Java 프로그램에 WebAssembly 코드 포함이 지원됩니다.
로 Wasmer 버전 1.0의 기능 다음이 두드러집니다.
- 실행중인 애플리케이션의 고성능, 네이티브 어셈블리 실행에 가깝고 컴파일 속도가 빠릅니다.
- 다양한 컴파일 백엔드 (Singlepass, Cranelift, LLVM) 및 엔진 (JIT 사용 또는 기계 코드 생성)을 연결할 수있는 확장 가능한 아키텍처.
WebAssembly 모듈 ( "wasmer-native compilation"을 통해 미리 컴파일 된 .so, .dylib 및 .dll 개체 파일을 생성하기위한 "wasmer-native compilation")에 대해 주어진 시스템에 대한 기계 코드를 생성 할 수있는 Native Object Engine. - 미리 컴파일 된 코드는 실행하는 데 최소한의 실행 시간이 필요하지만 모든 샌드 박스 격리 기능은 유지됩니다.
- 내장 된 Wasmer로 사전 컴파일 된 프로그램을 전달하는 헤드리스 모드.
예를 들어 x64_86 시스템에서 Aarch64 아키텍처에 대한 기계어 코드를 생성하기위한 교차 컴파일 지원. - 고급 WebAssembly 개념을 배울 필요없이 플러그인 및 플러그인을 생성하기위한 간단한 API입니다.
- WASM-C-API 지원.
- 디버깅 및 오류 처리를위한 도구입니다.
최종적으로 Wasmer에 대해 더 알고 싶다면 당신은 전자를 알아야프로젝트 코드는 Rust로 작성되었습니다. la MIT 라이센스에 대한 자세한 내용은 다음 공식 웹 사이트에서 확인할 수 있습니다. 다음 링크.
Wasmer 런타임 설치
반면에 WebAssembly 컨테이너를 실행하는 데 관심이있는 사용자는 외부 종속성없이 제공되는 Wasmer 런타임 만 시스템에 설치하면됩니다.
언급하는 것이 중요합니다. Wasmer는 모든 플랫폼에서 실행할 수 있습니다. macOS, Linux 및 Windows의 유일한 요구 사항은 시스템에 런타임을 설치하는 것입니다.
이렇게하려면 터미널에서 다음 명령을 실행하십시오.
컬 https://get.wasmer.io -sSfL | sh
그런 다음 필요한 파일을 실행해야합니다.
와스머 테스트.wasm
Wasmer의 작동 방식에 대해 더 알고 싶거나 소스 코드를 알고 싶다면 모든 것을 참조 할 수 있습니다. 다음 링크에서.