このプロジェクトは、Rust (とTypeScript) を使用して、ネイティブでもブラウザでも動く アプリケーションを構築するためのテンプレートです。
- 基本はネイティブで動くCLIアプリケーションで、それをWeb(ブラウザ)でも動かしたい
- 折角ブラウザを使うのだから、HTML/CSS/TS/JSを使って良い感じのGUIを付けたい
ネイティブ向けのGUIライブラリを使って、ネイティブでもGUIが使えるようにすることも可能な筈です
npm run build
を実行後、ローカルサーバーを建てて
/dist/index.html
をブラウザで開く
cargo run
を実行する
このテンプレートを使用するための手順は以下の通りです。
- Node.js (>=14.0.0)
- Rust (>=1.60.0)
wasm-pack
(Rust コードを WebAssembly にビルドするためのツール)
(Linuxの場合は、このリポジトリで$npm run install-rust
を実行すればRustとwasm-packがインストールできます)
- このリポジトリをクローンします
- buildします
$cargo build
$cargo run
を実行すれば、ついでに実行してくれます - ファイルを編集します
/src
内のファイルを編集して、アプリの機能を作成してください
編集したら2
を再度行ってください
-
buildします
$npm run build
を実行すれば、/dist
に必要なファイルが作成されます -
ローカルのサーバーで動かします
/dist
をルートにしてサーバーを起動してください
$npm run server
を実行すれば、http-serverを使ってローカルサーバーを起動できます
表示されるURLをWebブラウザで開いて下さい -
ファイルを編集します
/src
内のファイルを編集して、Webアプリの機能を作成してください
編集したら2
~3
を再度行ってください -
Webアプリとして公開します
- Github Pages
.github\workflows\deploy.yml
に、Github Actionsを使って公開するための設定があります
Githubにcommitすると、gh-pages
ブランチが作られ、/dist
の中身がその中に入ります
GithubリポジトリのSettings > Pages
からGithub Pagesの設定を行ってください - その他
GithubPagesと同様、/dist
の中身をWebサーバーに配置すれば行えます
- Github Pages