🦀
RustでWebAssembly
WebAssembly(wasm)とは
WebAssembly は最近のウェブブラウザーで動作し、新たな機能と大幅なパフォーマンス向上を提供する新しい種類のコードです。基本的に直接記述ではなく、C、C++、Rust 等の低水準の言語にとって効果的なコンパイル対象となるように設計されています。
ざっくり言えば、ブラウザ上でCやRustのようなより低レイヤな言語を実行できる、胸熱技術というわけです。
導入
こちらのチュートリアルに沿って、アラートでHello Worldを表示するまでやってみます。
今回必要なパッケージは、
- wasm-pack
- cargo-generate
- npm(インストール過程は割愛)
$ cargo install wasm-pack
$ cargo install cargo-generate
Hello World
cargo-generateでテンプレートを生成。
名前はチュートリアル通り「wasm-game-of-life」と入力。
$ cargo generate --git https://github.com/rustwasm/wasm-pack-template
Project Name : wasm-game-of-life
生成したディレクトリに移動し、
wasm-packでそのままビルド。
$ cd wasm-game-of-life
$ wasm-pack build
npmプロジェクトを作成。
$ npm init wasm-app www
npmモジュールをインストール、起動。
$ cd www
$ npm install
$ npm run start
localhost:8080でアラートが表示されればOK。
次はjs-sys/web-sysあたりをやろうと思います。
Discussion