このプロジェクトは、RustとWebAssemblyを使用して作成されたインタラクティブなキャンバス描画デモアプリケーションです。
- マウスドラッグによる描画機能
- ランダムな色の円を描画
- キャンバスのクリア機能
- スムーズな描画体験(WebAssemblyによる高速な処理)
- Rust(2021 Edition)
- wasm-pack
- モダンなWebブラウザ(WebAssembly対応)
- Node.js(開発サーバー用)
- リポジトリをクローン:
git clone https://github.com/timeless-residents/handson-wasm-rust.git
cd handson-wasm-rust
- WebAssemblyにビルド:
wasm-pack build --target web
- ローカルサーバーで実行(例:using Python):
python -m http.server
- ブラウザで
http://localhost:8000
を開きます - キャンバス上でマウスをクリック&ドラッグして描画します
- 描画中は、マウスの動きに合わせてカラフルな円が描かれます
- 「Clear Canvas」ボタンをクリックしてキャンバスをクリアできます
src/lib.rs
- Rustで実装されたキャンバス操作のコア機能index.html
- WebアプリケーションのUIとJavaScriptコードCargo.toml
- Rustプロジェクトの依存関係設定
- Rust - WebAssemblyにコンパイルされるコアロジック
- wasm-bindgen - RustとJavaScript間のバインディング
- web-sys - WebブラウザのAPIへのアクセス
- Canvas API - 描画機能の実装
このプロジェクトはMITライセンスの下で公開されています。