このプロジェクトは、Rust (とTypeScript) を使用して、ネイティブでもブラウザでも動く アプリケーションを構築するためのテンプレートです。
- 基本はネイティブで動くCLIアプリケーションで、それをWeb(ブラウザ)でも動かしたい
- 折角ブラウザを使うのだから、HTML/CSS/TS/JSを使って良い感じのGUIを付けたい
ネイティブ向けのGUIライブラリを使って、ネイティブでもGUIが使えるようにすることも可能な筈です
npm install
node build.jsを実行後、ローカルサーバーを建てて
/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