Skip to content

Latest commit

 

History

History
72 lines (53 loc) · 2.91 KB

readme.md

File metadata and controls

72 lines (53 loc) · 2.91 KB

Rust (+TypeScript) アプリケーション テンプレート

image image

このプロジェクトは、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がインストールできます)

開発

  1. このリポジトリをクローンします

ネイティブ

  1. buildします
    $cargo build
    $cargo runを実行すれば、ついでに実行してくれます
  2. ファイルを編集します
    /src内のファイルを編集して、アプリの機能を作成してください
    編集したら2を再度行ってください

web

  1. buildします
    $npm run buildを実行すれば、/distに必要なファイルが作成されます

  2. ローカルのサーバーで動かします
    /distをルートにしてサーバーを起動してください
    $npm run serverを実行すれば、http-serverを使ってローカルサーバーを起動できます
    表示されるURLをWebブラウザで開いて下さい

  3. ファイルを編集します
    /src内のファイルを編集して、Webアプリの機能を作成してください
    編集したら2~3を再度行ってください

  4. Webアプリとして公開します

    • Github Pages
      .github\workflows\deploy.ymlに、Github Actionsを使って公開するための設定があります
      Githubにcommitすると、gh-pagesブランチが作られ、/distの中身がその中に入ります
      GithubリポジトリのSettings > PagesからGithub Pagesの設定を行ってください
    • その他
      GithubPagesと同様、/distの中身をWebサーバーに配置すれば行えます