1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Tauri でデスクトップアプリを作成する(準備)

Last updated at Posted at 2024-08-24

Tauri でデスクトップアプリを作成する

概要

DevContainer 環境で Tauri デスクトップアプリの作成を行っていきます。今回は、開発コンテナを作成してデフォルトのアプリケーションの起動まで行うところまでです。方針としては、Cargo を使用して環境を構築していきます。

作成環境

  • Windows 11
  • Visual Studio Code(VSCode)
    • Dev Containers(拡張機能)
  • Docker DeskTop(バックグラウンドで起動させておく)

作業

開発環境コンテナの作成

  1. VSCode の左下の「><」をクリック。
    スクリーンショット 2024-08-25 003613.png

  2. 「新しい開発コンテナを作成」を選択する。
    スクリーンショット 2024-08-25 004322.png

  3. 「Ubuntu」を選択する。
    スクリーンショット 2024-08-25 005044.png

  4. 「その他オプション」を選択。
    スクリーンショット 2024-08-25 005210.png

  5. Ubuntu のバージョンを訊かれる。特にこだわりがなければ(既定)となっているものを選択。
    スクリーンショット 2024-08-25 005245.png

  6. 以下のオプションを選択。「OK」ボタンを押下。

    • Rust
    • Node.js
      スクリーンショット 2024-08-25 005555.png
      スクリーンショット 2024-08-25 010222.png
  7. Node.js のバージョン等を訊かれるが、基本的に(既定)がついているものを選択。

  8. 開発コンテナ作成後、.devcontainer ディレクトリが作成されている。
    スクリーンショット 2024-08-25 011214.png

  9. 今回は、Dockerfileを用いて、必要なパッケージを開発コンテナにインストールする。.devcontainer/devcontainer.jsonを以下のように書き換える。

    .devcontainer.json
    {
    	"name": "Ubuntu",
    	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
    -   "image": "mcr.microsoft.com/devcontainers/base:jammy",
    +	//"image": "mcr.microsoft.com/devcontainers/base:jammy",
    +	"build": {
    +		"dockerfile": "./Dockerfile"
    +	},
    	"features": {
    		"ghcr.io/devcontainers/features/node:1": {
    			"nodeGypDependencies": true,
    			"installYarnUsingApt": true,
    			"version": "lts",
    			"nvmVersion": "latest"
    		},
    		"ghcr.io/devcontainers/features/rust:1": {
    			"version": "latest",
    			"profile": "minimal",
    			"targets": "x86_64-unknown-redox,x86_64-unknown-uefi"
    		}
    	}
    }
    
  10. (公式ページ)[https://tauri.app/v1/guides/getting-started/prerequisites]を参考に.devcontainer/Dockerfileを作成。

    Dockerfile
    FROM mcr.microsoft.com/devcontainers/base:jammy
    
    ENV DISPLAY=:1
    
    RUN sudo apt update
    RUN sudo apt install -y libwebkit2gtk-4.0-dev \
        build-essential \
        curl \
        wget \
        file \
        libssl-dev \
        libgtk-3-dev \
        libayatana-appindicator3-dev \
        librsvg2-dev 
    # アプリで日本語出力する場合、fontをインストールする。(お好みで)
    RUN sudo apt install -yfonts-takao
    
    RUN curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh -s -- -y
    
  11. 左下の「><」ボタンを押下し、「コンテナのリビルド」を選択。
    スクリーンショット 2024-08-25 013544.png

  12. 開発コンテナのリビルドが完了したら、ターミナルを立ち上げる(ショートカット Ctrl + Shift + @)。

  13. 立ち上げたターミナルに以下のコマンドを打ち込む

    cargo install create-tauri-app --locked
    cargo create-tauri-app
    
  14. cargo create-tauri-app実行後、プロジェクト名を訊かれるので、好きなプロジェクト名を入れる。ここでは、test-appにする。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ? Project name (tauri-app) › test-app
    
  15. アプリを識別するための文字を入力する。ここでは、com.test-app.appにする。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ✔ Project name · test-app
    ✔ Identifier · com.test-app.app
    
  16. フロントエンドで使用する言語を訊かれる。今回は、TypeScript を使いたいので、TypeScript / JavaScript (pnpm, yarn, npm, bun)を選択。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ✔ Project name · test-app
    ✔ Identifier · com.test-app.app
    ? Choose which language to use for your frontend ›
      Rust
    ❯ TypeScript / JavaScript  (pnpm, yarn, npm, bun)
      .NET
    
  17. パッケージマネージャーはnpmを使用。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ✔ Project name · test-app
    ✔ Identifier · com.test-app.app
    ✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, bun)
    ? Choose your package manager ›
      pnpm
      yarn
    ❯ npm
      bun
    
  18. UI のテンプレートは、Reactを使用。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ✔ Project name · test-app
    ✔ Identifier · com.test-app.app
    ✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, bun)
    ✔ Choose your package manager · npm
    ? Choose your UI template ›
      Vanilla
      Vue
      Svelte
    ❯ React  (https://react.dev/)
      Solid
      Angular
      Preact
    
  19. TypeScript を使用するので、TypeScriptを選択。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ✔ Project name · test-app
    ✔ Identifier · com.test-app.app
    ✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, bun)
    ✔ Choose your package manager · npm
    ✔ Choose your UI template · React - (https://react.dev/)
    ? Choose your UI flavor ›
    ❯ TypeScript
      JavaScript
    
  20. 設定が完了し、起動するコマンド(下3行)を教えてくれるので、順にターミナルで実行する。

    vscode ➜ /workspaces/ubuntu $ cargo create-tauri-app
    ✔ Project name · test-app
    ✔ Identifier · com.test-app.app
    ✔ Choose which language to use for your frontend · TypeScript / JavaScript - (pnpm, yarn, npm, bun)
    ✔ Choose your package manager · npm
    ✔ Choose your UI template · React - (https://react.dev/)
    ✔ Choose your UI flavor · TypeScript
    
    Template created! To get started run:
      cd test-app
      npm install
      npm run tauri dev
    
  21. 以下の画面が出れば、今回の目的は達成です。お疲れさまでした。
    スクリーンショット 2024-08-25 022511.png

参考 URL など

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?