WASM을 통한 .NET의 미래 | Abuhakmeh

Abuhakmeh님이 Wasmtime을 이용한 WASM 런타임 환경을 소개하며 .NET 개발자가 더 많은 호스팅 옵션을 가지고 있다는 점을 강조합니다. 나아가 WASM의 미래가 낙관적이라고 말합니다.

(저도 처음에는 WASM이 플랫폼 상관없이 웹브라우저에서 애플리케이션을 구동할 수 있는 새로운 환경 정도로 생각했습니다. 하지만 더 나아가 "서비스"를 플랫폼에 신경쓸 필요없이 배포할 수 있는 훌륭한 환경임이 점차 자명해집니다.)


2개의 좋아요

콘솔 프로젝트로 시작해서

다음의 Wasi.Sdk 패키지를 설치하고 (시험판 포함 체크)

image

빌드를 하면 자동으로 다음과 같이 관련 파일을 다운로드 받고 최종 wasm 파일을 생성합니다.

image

wasmtime이 설치되어 있지 않으면 다음의 페이지를 통해 자신에 맞는 플랫폼을 찾아 설치합니다.

다음으로 패키지 관리자 콘솔을 통해 다음처럼 실행할 수 있습니다.

$ wasmtime ./HelloWasm/bin/Debug/net7.0/HelloWasm.wasm
Hello, World!

8메가 정도의 wasm파일이 생성되고 잘 실행됩니다. 윈도우에서 생성한 wasm 파일을 WSL에서도 잘 동작하는지 복사해서 테스트해보면, 당연하지만 잘 동작함을 확인할 수 있습니다.

image

2개의 좋아요

성능이 궁금해서 기존에 테스트 했던 코드를 그대로 이용해서

WASM으로 테스트를 해보았습니다.

image

아직은 최적화가 되지 않았거나 별도의 빌드 옵션을 줘야 하는지… 매우 느립니다. 관련 정보를 발견하면 추가 댓글 달도록 하겠습니다.

3개의 좋아요