メインコンテンツまでスキップ
Version: 0.18.0

始める

Rust#

まずはじめにRustが必要です。Rustとビルドツールのcargoをインストールするために、以下の公式サイト を見てください。

Wasm ビルドツール#

WebAssemblyとJavaScriptの互換を持たせるために他にツールが必要です。さらに、選んだツールに応じてブラウザでアプリから.wasmファイルを実行するのに 必要なJavaScriptラッパーのコードを生成し、これによってデプロイやパッケージ化での頭痛の種を軽減させるのに役立ちます。

wasm-pack#

Rust / Wasm活動チームによって開発されているCLIツールで、WebAssemblyをパッケージ化することができます。 Webpackにはwasm-pack-pluginが最もよく使われています。

wasm-packで始める

wasm-bindgen#

Rust/Wasm活動チームによって開発されているライブラリとCLIツールで、JS / WebAssemblyの互換性を持たせるための低レベルなツールです (wasm-packで内部的に使われています)。 wasm-bindgenは手書きのJavaScriptでWebAssemblyのバイナリを使う必要があるため、直接使うのは非推奨です。 しかし、詳細な情報についてはwasm-bindgen ガイドから得られます。

wasm-bindgenで始める。

cargo-web#

wasm-packwasm-bindgenを導入する前は好まれたWebワークフローツールです。 wasm-packがサポートされていないサンプルを動かすのにインストールする価値があり、依然として最もお手軽に始められる方法です。

cargo webで始める

比較#

wasm-packwasm-bindgencargo-web
プロジェクトの進行状況Rust / Wasm活動チームにより活発にメンテナンスRust / Wasm 活動チームにより活発にメンテナンス6ヶ月間GitHubでの活発な活動無し
開発体験ほぼ大丈夫! webpackがあればなお良い。だいたい大丈夫。開発においては少し流れを書かないといけない。しっかり動く!完結していて、外部ライブラリに頼る必要無し。
ローカルサーバーwebpackプラグインによるサポートありサポート無しサポートあり
ローカル環境での変更による自動再ビルドwebpackプラグインによるサポートありサポート無しサポートあり
ヘッドレスブラウザテストサポートありサポートありサポートあり
サポートされているターゲット
  • wasm32-unknown-unknown
  • wasm32-unknown-unknown
  • wasm32-unknown-unknown
  • wasm32-unknown-emscripten
  • asmjs-unknown-emscripten
web-sys互換性あり互換性あり互換性無し
stdweb互換性あり互換性あり互換性あり
使用例入門用テンプレートYewで作る例Yewで作る例