Project Setup
始める
Rust
まずはじめにRustが必要です。Rustとビルドツールのcargo
をインストールするために、以下の公式サイト
を見てください。
Wasm ビルドツール
WebAssemblyとJavaScriptの互換を持たせるために他にツールが必要です。さらに、選んだツールに応じてブラウザでアプリから.wasm
ファイルを実行するのに
必要なJavaScriptラッパーのコードを生成し、これによってデプロイやパッケージ化での頭痛の種を軽減させるのに役立ちます。
wasm-pack
Rust / Wasm活動チームによって開発されているCLIツールで、WebAssemblyをパッケージ化することができます。
Webpackにはwasm-pack-plugin
が最もよく使われています。
wasm-bindgen
Rust/Wasm活動チームによって開発されているライブラリとCLIツールで、JS / WebAssemblyの互換性を持たせるための低レベルなツールです
(wasm-pack
で内部的に使われています)。
wasm-bindgen
は手書きのJavaScriptでWebAssemblyのバイナリを使う必要があるため、直接使うのは非推奨です。
しかし、詳細な情報についてはwasm-bindgen
ガイドから得られます。
cargo-web
wasm-pack
とwasm-bindgen
を導入する前は好まれたWebワークフローツールです。
wasm-pack
がサポートされていないサンプルを動かすのにインストールする価値があり、依然として最もお手軽に始められる方法です。
比較
wasm-pack
|
wasm-bindgen
|
cargo-web
|
|
---|---|---|---|
プロジェクトの進行状況 | Rust / Wasm活動チームにより活発にメンテナンス | Rust / Wasm 活動チームにより活発にメンテナンス | 6ヶ月間GitHubでの活発な活動無し |
開発体験 | ほぼ大丈夫! webpack があればなお良い。 |
だいたい大丈夫。開発においては少し流れを書かないといけない。 | しっかり動く!完結していて、外部ライブラリに頼る必要無し。 |
ローカルサーバー | webpack プラグインによるサポートあり |
サポート無し | サポートあり |
ローカル環境での変更による自動再ビルド | webpack プラグインによるサポートあり |
サポート無し | サポートあり |
ヘッドレスブラウザテスト | サポートあり | サポートあり | サポートあり |
サポートされているターゲット |
|
|
|
web-sys |
互換性あり | 互換性あり | 互換性無し |
stdweb |
互換性あり | 互換性あり | 互換性あり |
使用例 | 入門用テンプレート | Yewで作る例 | Yewで作る例 |