Go 로 WASM 해보기

2018-06-27

WASM은 WebAssembly의 약어로, 용어자체에서 보둣, 웹에서 ASM을 돌려보자는 프로젝트이다. 여러 장점이 있다고 하는데, 일단 가장 크게 느껴지는 건 익숙한 언어로 웹프로그래밍을 할 수 있을거라는 기대감이다.

이미 대부분의 브라우저에서 지원 해 주고 있고, Go에서도 1.10버전부터 정식 지원한다고 한다.
일단 검색해보니 참고 포스트가 하나 나와서 따라 해 봤다.

  1. 새 버전 go를 받아서 컴파일한다.
  1. helloworld를 찍어본다.

컴파일은 새로 받은 go로 해야 한다. 결과 파일 이름을 test.wasm으로 하면 이후 단계에서 타이핑이 줄어든다.
GOOS=js GOARCH=wasm ./go build -o test.wasm test.go

  1. 실행해 보자. go/misc/wasm 안에 예제로 쓸 패키지가 있다. wasm_exec.html을 복사해서 쓰자. wasm_exec.js 도 함께 복사할 것. 기본으로 test.wasm을 불러오기 때문에 바로 처리가 된다.
    실행을 위해서는 웹서버가 있어야 한다. 필요한 대로 만들거나, 아니면 simplehttpserver를 쓰자.

go get github.com/lazyhacker/simplehttpserver
go install github.com/lazyhacker/simplehttpserver
simplehttpserver

그 다음 웹 브라우저로 wasm_exec.html에 접근하면 run 버튼이 보이고, 그걸 누르면 짠!

Hello 가 뜬다.

여러 Github 계정 SSH로 접근 2009 하반기 - 2018 상반기 일/공부 회고