今注目されているWebAssemblyを勉強してみる。
WebAssemblyとは?
MDNの資料を見れば全てがわかる
WebAssembly の概要 - WebAssembly | MDN
- C、Rust等様々な言語をWebブラウザーで動作するようにコンパイルする(Rustとの組み合わせをよく見かける、気がする)
- JavaScriptと相互に機能を共有できる
- 高速、高効率(ここが主なモチベーション?)
- すでにモダンな多くのブラウザで動作する
試してみる
C/C++からWebAssemblyにコンパイルする - WebAssembly | MDN
MDNの資料を見て試してみる。
gitリポジトリ。とりあえずHello Worldまで...。
Dockerイメージはこちらを使いました。何も考えずに、Pull数の多いものを選択しています。
https://github.com/nek0meshi/wasm-learn/blob/master/Makefile
- make buildでコンパイル
- make runで、ターミナルでHello World
- make webで、ブラウザからlocalhost:3000でHello World
とりあえず動作はした。それ以上のことはまだ何もわかっていないので、続きは後日...。