<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://mochiu.net/index.php?action=history&amp;feed=atom&amp;title=Tauri%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90</id>
	<title>Tauriの基礎 - プロジェクトの作成 - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://mochiu.net/index.php?action=history&amp;feed=atom&amp;title=Tauri%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90"/>
	<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=Tauri%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90&amp;action=history"/>
	<updated>2026-09-03T08:07:17Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://mochiu.net/index.php?title=Tauri%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90&amp;diff=14482&amp;oldid=prev</id>
		<title>Wiki: ページの作成:「== 概要 == Tauriは、Rustをバックエンドとし、Web技術 (HTML / CSS / JavaScript) をフロントエンドとして使用するクロスプラットフォームアプリケーション開発フレームワークである。&lt;br&gt; デスクトップ (Windows、MacOS、Linux) と モバイル (iOS、Android) の両プラットフォームに対応している。&lt;br&gt; &lt;br&gt; システムのネイティブWebViewを活用することにより、最小600[KB]未…」</title>
		<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=Tauri%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90&amp;diff=14482&amp;oldid=prev"/>
		<updated>2026-02-25T22:24:16Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「== 概要 == Tauriは、Rustをバックエンドとし、Web技術 (HTML / CSS / JavaScript) をフロントエンドとして使用するクロスプラットフォームアプリケーション開発フレームワークである。&amp;lt;br&amp;gt; デスクトップ (Windows、MacOS、Linux) と モバイル (iOS、Android) の両プラットフォームに対応している。&amp;lt;br&amp;gt; &amp;lt;br&amp;gt; システムのネイティブWebViewを活用することにより、最小600[KB]未…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 概要 ==&lt;br /&gt;
Tauriは、Rustをバックエンドとし、Web技術 (HTML / CSS / JavaScript) をフロントエンドとして使用するクロスプラットフォームアプリケーション開発フレームワークである。&amp;lt;br&amp;gt;&lt;br /&gt;
デスクトップ (Windows、MacOS、Linux) と モバイル (iOS、Android) の両プラットフォームに対応している。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
システムのネイティブWebViewを活用することにより、最小600[KB]未満という極めて小さなバイナリサイズを実現している。&amp;lt;br&amp;gt;&lt;br /&gt;
これは、ChromiumをバンドルするElectron等の従来フレームワークと比較して大幅な軽量化となっている。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
フロントエンドにはReact、Vue、Svelte等のモダンなフレームワークを使用でき、TypeScriptによる型安全な開発もサポートされている。&amp;lt;br&amp;gt;&lt;br /&gt;
バックエンドはRustで実装されるため、メモリ安全性と高いパフォーマンスを両立している。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;create-tauri-app&amp;lt;/code&amp;gt; コマンドを使用することにより、対話式のセットアップによりプロジェクトを簡単に作成できる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
また、Viteをビルドツールとして使用し、ホットリロード機能により効率的な開発が可能である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 前提条件 ==&lt;br /&gt;
Tauriプロジェクトを作成する前に、開発環境を準備する必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 共通の要件 ====&lt;br /&gt;
* Node.js (LTS版)&lt;br /&gt;
*: バージョン18以上を推奨する。&lt;br /&gt;
*: npm、pnpm、yarn、bunのいずれかのパッケージマネージャを使用できること。&lt;br /&gt;
* Rust (rustup)&lt;br /&gt;
*: Rustの公式ツールチェーンマネージャであるrustupを使用してRustをインストールする。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Windowsの要件 ====&lt;br /&gt;
* WebView2&lt;br /&gt;
*: Windows 10 (バージョン1803以降) および Windows 11には標準でインストールされている。&lt;br /&gt;
* Visual Studio Build Tools&lt;br /&gt;
*: Visual Studioインストーラを起動して、[C++によるデスクトップ開発]ワークロードをインストールする。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
 winget install --id Rustlang.Rustup&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== MacOSの要件 ====&lt;br /&gt;
* Xcode Command Line Tools&lt;br /&gt;
*: &amp;lt;code&amp;gt;xcode-select --install&amp;lt;/code&amp;gt; でインストールする。&lt;br /&gt;
* MacOS Catalina (10.15) 以降&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;sh&amp;quot;&amp;gt;&lt;br /&gt;
 curl --proto &amp;#039;=https&amp;#039; --tlsv1.2 https://sh.rustup.rs -sSf | sh&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Linuxの要件 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Linuxディストリビューション別の依存パッケージ&lt;br /&gt;
! Linuxディストリビューション !! インストールコマンド&lt;br /&gt;
|-&lt;br /&gt;
| RHEL || &lt;br /&gt;
 sudo dnf install curl wget file make gcc gcc-c++ \&lt;br /&gt;
                  openssl-devel librsvg2-devel gtk3-devel webkit2gtk4.1-devel libappindicator-gtk3-devel&lt;br /&gt;
|-&lt;br /&gt;
| SUSE || &lt;br /&gt;
 sudo zypper install curl wget file make gcc gcc-c++ \&lt;br /&gt;
                     libopenssl-devel librsvg-devel gtk3-devel webkit2gtk3-devel libappindicator3-devel&lt;br /&gt;
|-&lt;br /&gt;
| Debian || &lt;br /&gt;
 sudo apt install build-essential curl wget file \&lt;br /&gt;
                  libssl-dev libgtk-3-dev librsvg2-dev libwebkit2gtk-4.1-dev libayatana-appindicator3-dev&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== create-tauri-appによるプロジェクト作成 ==&lt;br /&gt;
&amp;lt;code&amp;gt;create-tauri-app&amp;lt;/code&amp;gt; コマンドは、Tauriプロジェクトを簡単に作成するための公式ツールである。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== インストール方法 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ create-tauri-appの実行コマンド一覧&lt;br /&gt;
! 環境 !! コマンド&lt;br /&gt;
|-&lt;br /&gt;
| Bash / Zsh (Linux / MacOS) || &amp;lt;code&amp;gt;sh &amp;lt;(curl https://create.tauri.app/sh)&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Fish || &amp;lt;code&amp;gt;curl https://create.tauri.app/sh | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| PowerShell (Windows) || &amp;lt;code&amp;gt;irm https://create.tauri.app/ps \| iex&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| npm || &amp;lt;code&amp;gt;npm create tauri-app@latest&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| pnpm || &amp;lt;code&amp;gt;pnpm create tauri-app&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| yarn || &amp;lt;code&amp;gt;yarn create tauri-app&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| bun || &amp;lt;code&amp;gt;bun create tauri-app&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== コマンドラインオプション ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ コマンドラインオプション一覧&lt;br /&gt;
! オプション !! 説明&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--template&amp;lt;/code&amp;gt; || 使用するテンプレートを指定する。&amp;lt;br&amp;gt;例: react-ts、vue、svelte&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--manager&amp;lt;/code&amp;gt; || パッケージマネージャを指定する。&amp;lt;br&amp;gt;npm、pnpm、yarn、bun&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--yes&amp;lt;/code&amp;gt; || デフォルト設定でプロジェクトを作成する。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--ci&amp;lt;/code&amp;gt; || CI環境向けの非対話モードで実行する。&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 pnpm create tauri-app &amp;lt;アプリケーション名&amp;gt; --template react-ts&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 対話式セットアップの流れ ====&lt;br /&gt;
# プロジェクト名の入力&lt;br /&gt;
#: デフォルトではカレントディレクトリ名が使用される。&lt;br /&gt;
# パッケージマネージャの選択&lt;br /&gt;
#: pnpm、yarn、npm、bun、denoから選択する。&lt;br /&gt;
# フロントエンド言語の選択&lt;br /&gt;
#: TypeScript (推奨)、JavaScript、Rust、.NETから選択する。&lt;br /&gt;
# UIテンプレートの選択&lt;br /&gt;
#: Vanilla、Vue、Svelte、React、Solid、Angular、Preactなどから選択可能である。&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== React + TypeScriptテンプレート ==&lt;br /&gt;
==== 使用方法 ====&lt;br /&gt;
 pnpm create tauri-app &amp;lt;アプリケーション名&amp;gt; --template react-ts&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== テンプレート一覧 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ フロントエンドテンプレート一覧&lt;br /&gt;
! フレームワーク !! TypeScript !! JavaScript&lt;br /&gt;
|-&lt;br /&gt;
| Vanilla || vanilla-ts || vanilla&lt;br /&gt;
|-&lt;br /&gt;
| Vue || vue-ts || vue&lt;br /&gt;
|-&lt;br /&gt;
| Svelte || svelte-ts || svelte&lt;br /&gt;
|-&lt;br /&gt;
| React || react-ts || react&lt;br /&gt;
|-&lt;br /&gt;
| Solid || solid-ts || solid&lt;br /&gt;
|-&lt;br /&gt;
| Angular || angular || -&lt;br /&gt;
|-&lt;br /&gt;
| Preact || preact-ts || preact&lt;br /&gt;
|-&lt;br /&gt;
| Yew (Rust) || yew || -&lt;br /&gt;
|-&lt;br /&gt;
| Leptos (Rust) || leptos || -&lt;br /&gt;
|-&lt;br /&gt;
| Blazor (.NET) || blazor || -&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== TypeScript版 と JavaScript版の違い ====&lt;br /&gt;
TypeScript版を使用するメリットを以下に示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* 型安全性によるコンパイル時のエラー検出&lt;br /&gt;
* IDEでの優れた自動補完サポート&lt;br /&gt;
* リファクタリングの容易さ&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 生成されるファイル構造 ====&lt;br /&gt;
 my-app/&lt;br /&gt;
 ├── src/                    # フロントエンドソースコード&lt;br /&gt;
 │   ├── main.tsx            # エントリーポイント&lt;br /&gt;
 │   └── App.tsx             # メインコンポーネント&lt;br /&gt;
 ├── src-tauri/              # Tauriバックエンド (Rust)&lt;br /&gt;
 │   ├── src/                # Rustソースコード&lt;br /&gt;
 │   ├── tauri.conf.json     # Tauri設定ファイル&lt;br /&gt;
 │   └── Cargo.toml          # Rust依存関係&lt;br /&gt;
 ├── index.html              # HTMLエントリーポイント&lt;br /&gt;
 ├── package.json            # Node.js依存関係&lt;br /&gt;
 └── vite.config.ts          # Vite設定&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 既存プロジェクトへのTauri追加 ====&lt;br /&gt;
既に存在するWebフロントエンドプロジェクトにTauriを追加することも可能である。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Tauri CLIのインストール ====&lt;br /&gt;
 pnpm add -D @tauri-apps/cli@latest&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== tauri initの実行 ====&lt;br /&gt;
 pnpm tauri init&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== tauri initの対話フロー ====&lt;br /&gt;
# アプリケーション名の入力&lt;br /&gt;
#: デフォルトはパッケージ名&lt;br /&gt;
# ウィンドウタイトルの入力&lt;br /&gt;
#: アプリケーションウインドウのタイトル&lt;br /&gt;
# 開発サーバURLの入力&lt;br /&gt;
#: 例: http://localhost:5173&lt;br /&gt;
# フロントエンドビルド出力先の入力&lt;br /&gt;
#: 例: &amp;lt;u&amp;gt;../dist&amp;lt;/u&amp;gt;&lt;br /&gt;
# devコマンドの入力&lt;br /&gt;
#: 例: &amp;lt;code&amp;gt;pnpm dev&amp;lt;/code&amp;gt;&lt;br /&gt;
# buildコマンドの入力&lt;br /&gt;
#: 例: &amp;lt;code&amp;gt;pnpm build&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vite設定 ==&lt;br /&gt;
==== vite.config.ts ====&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;typescript&amp;quot;&amp;gt;&lt;br /&gt;
 import { defineConfig } from &amp;#039;vite&amp;#039;;&lt;br /&gt;
 import react from &amp;#039;@vitejs/plugin-react&amp;#039;;&lt;br /&gt;
 &lt;br /&gt;
 const host = process.env.TAURI_DEV_HOST;&lt;br /&gt;
 &lt;br /&gt;
 export default defineConfig({&lt;br /&gt;
   plugins: [react()],&lt;br /&gt;
   clearScreen: false,&lt;br /&gt;
   server: {&lt;br /&gt;
     port: 5173,&lt;br /&gt;
     strictPort: true,&lt;br /&gt;
     host: host || false,&lt;br /&gt;
     hmr: host ? { protocol: &amp;#039;ws&amp;#039;, host, port: 1421 } : undefined,&lt;br /&gt;
     watch: { ignored: [&amp;#039;**/src-tauri/**&amp;#039;] },&lt;br /&gt;
   },&lt;br /&gt;
   envPrefix: [&amp;#039;VITE_&amp;#039;, &amp;#039;TAURI_ENV_*&amp;#039;],&lt;br /&gt;
   build: {&lt;br /&gt;
     target: process.env.TAURI_ENV_PLATFORM == &amp;#039;windows&amp;#039; ? &amp;#039;chrome105&amp;#039; : &amp;#039;safari13&amp;#039;,&lt;br /&gt;
     minify: !process.env.TAURI_ENV_DEBUG ? &amp;#039;esbuild&amp;#039; : false,&lt;br /&gt;
     sourcemap: !!process.env.TAURI_ENV_DEBUG,&lt;br /&gt;
   },&lt;br /&gt;
 });&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 設定項目の解説 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ vite.config.tsの主な設定項目&lt;br /&gt;
! 設定項目 !! 説明&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;plugins: [react()]&amp;lt;/code&amp;gt; || React用のViteプラグインを有効にする。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;clearScreen: false&amp;lt;/code&amp;gt; || Tauri開発サーバとの統合のため、コンソール画面のクリアを無効にする。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;server.port: 5173&amp;lt;/code&amp;gt; || 開発サーバのポート番号&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;tauri.conf.json&amp;lt;/code&amp;gt; の &amp;lt;code&amp;gt;devUrl&amp;lt;/code&amp;gt; と一致させる。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;server.strictPort: true&amp;lt;/code&amp;gt; || 指定したポートが使用できない場合にエラーにする。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;server.host&amp;lt;/code&amp;gt; || 環境変数 &amp;lt;code&amp;gt;TAURI_DEV_HOST&amp;lt;/code&amp;gt;が設定されている場合、そのホストでリッスンする。&amp;lt;br&amp;gt;モバイル開発で重要&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;server.hmr&amp;lt;/code&amp;gt; || ホットモジュールリプレースメント (HMR) の設定&amp;lt;br&amp;gt;モバイル開発時はWebSocketを使用&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;server.watch.ignored&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;src-tauri/&amp;lt;/code&amp;gt; ディレクトリの変更を監視対象から除外する。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;envPrefix&amp;lt;/code&amp;gt; || 環境変数のプレフィックスとして、&amp;lt;code&amp;gt;VITE_&amp;lt;/code&amp;gt; と &amp;lt;code&amp;gt;TAURI_ENV_*&amp;lt;/code&amp;gt; を使用する。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;build.target&amp;lt;/code&amp;gt; || ビルドターゲットをプラットフォームに応じて設定&amp;lt;br&amp;gt;WindowsではChrome 105、それ以外ではSafari 13&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;build.minify&amp;lt;/code&amp;gt; || デバッグビルドでは無効化し、本番ビルドではesbuildを使用する。&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;build.sourcemap&amp;lt;/code&amp;gt; || デバッグビルドでのみソースマップを生成する。&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== tauri.conf.jsonとの連携 ====&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
 {&lt;br /&gt;
   &amp;quot;build&amp;quot;: {&lt;br /&gt;
     &amp;quot;beforeDevCommand&amp;quot;: &amp;quot;pnpm dev&amp;quot;,&lt;br /&gt;
     &amp;quot;beforeBuildCommand&amp;quot;: &amp;quot;pnpm build&amp;quot;,&lt;br /&gt;
     &amp;quot;devUrl&amp;quot;: &amp;quot;http://localhost:5173&amp;quot;,&lt;br /&gt;
     &amp;quot;frontendDist&amp;quot;: &amp;quot;../dist&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ tauri.conf.jsonのbuild設定項目&lt;br /&gt;
! 設定項目 !! 説明&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;beforeDevCommand&amp;lt;/code&amp;gt; || 開発サーバ起動前に実行するコマンド&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;beforeBuildCommand&amp;lt;/code&amp;gt; || ビルド実行前に実行するコマンド&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;devUrl&amp;lt;/code&amp;gt; || 開発時のフロントエンドURL&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;frontendDist&amp;lt;/code&amp;gt; || ビルド済みフロントエンド資産の配置ディレクトリ&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 開発サーバの起動 ==&lt;br /&gt;
==== tauri devコマンド ====&lt;br /&gt;
 # pnpmの場合&lt;br /&gt;
 pnpm tauri dev&lt;br /&gt;
 &lt;br /&gt;
 # npmの場合&lt;br /&gt;
 npm run tauri dev&lt;br /&gt;
 &lt;br /&gt;
 # cargoの場合&lt;br /&gt;
 cargo tauri dev&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 初回起動と2回目以降の違い ====&lt;br /&gt;
* 初回起動時&lt;br /&gt;
*: Rustの依存クレートのダウンロードとコンパイルが行われる。&lt;br /&gt;
*: 初回コンパイルには数分かかる場合がある。&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* 2回目以降&lt;br /&gt;
*: 増分ビルドにより高速に起動する。&lt;br /&gt;
*: 変更されたファイルのみが再コンパイルされる。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== ポート設定 ====&lt;br /&gt;
開発サーバのポート番号は、&amp;lt;u&amp;gt;vite.config.ts&amp;lt;/u&amp;gt; と &amp;lt;u&amp;gt;tauri.conf.json&amp;lt;/u&amp;gt; で整合性を保つ必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 環境変数 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Tauri開発環境変数&lt;br /&gt;
! 環境変数 !! 説明&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TAURI_DEV_HOST&amp;lt;/code&amp;gt; || モバイル開発時に開発サーバがリッスンするホストアドレス&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TAURI_ENV_PLATFORM&amp;lt;/code&amp;gt; || 現在のプラットフォーム (windows、linux、darwin)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TAURI_ENV_DEBUG&amp;lt;/code&amp;gt; || デバッグモードの場合に設定される。&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ホットリロード ==&lt;br /&gt;
==== フロントエンドHMR ====&lt;br /&gt;
Viteのホットモジュールリプレースメント (HMR) 機能により、フロントエンドの変更が即座に反映される。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Viteがファイルの変更を検知する&lt;br /&gt;
* WebSocketを通じてブラウザ (WebView) に通知される&lt;br /&gt;
* 変更されたモジュールのみが置換され、ページ全体のリロードは不要&lt;br /&gt;
* アプリケーションの状態 (フォーム入力値など) が保持される&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Rust自動再コンパイル ====&lt;br /&gt;
Rustバックエンドの変更時も、自動的に再コンパイルとアプリケーションの再起動が行われる。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;u&amp;gt;src-tauri/&amp;lt;/u&amp;gt; ディレクトリ内のRustファイルの変更が監視される。&lt;br /&gt;
* 変更検知時に自動的に再コンパイルが開始される。&lt;br /&gt;
* コンパイル完了後にアプリケーションが自動的に再起動される。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== 開発モードの判定方法 ====&lt;br /&gt;
* Rust側&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;rust&amp;quot;&amp;gt;&lt;br /&gt;
 #[cfg(debug_assertions)]&lt;br /&gt;
 fn is_dev() -&amp;gt; bool { true }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*: &amp;lt;br&amp;gt;&lt;br /&gt;
* フロントエンド側&lt;br /&gt;
*: &amp;lt;syntaxhighlight lang=&amp;quot;typescript&amp;quot;&amp;gt;&lt;br /&gt;
 const isDev = import.meta.env.DEV;&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== モバイル開発の設定 ==&lt;br /&gt;
Tauri 2.0以降では、iOSとAndroidのモバイルアプリケーション開発がサポートされている。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== iOS開発の設定 ====&lt;br /&gt;
* MacOS環境 (必須)&lt;br /&gt;
* Xcode (最新版)&lt;br /&gt;
* Apple Developerアカウント (実機デプロイの場合)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 # iOSターゲットの追加&lt;br /&gt;
 rustup target add aarch64-apple-ios&lt;br /&gt;
 &lt;br /&gt;
 # iOS開発の初期化&lt;br /&gt;
 pnpm tauri ios init&lt;br /&gt;
 &lt;br /&gt;
 # iOSシミュレータでの実行&lt;br /&gt;
 pnpm tauri ios dev&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Android開発の設定 ====&lt;br /&gt;
* Android SDK&lt;br /&gt;
* Android NDK&lt;br /&gt;
* Java Development Kit (JDK) 17以上&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
 # Androidターゲットの追加&lt;br /&gt;
 rustup target add aarch64-linux-android&lt;br /&gt;
 &lt;br /&gt;
 # Android開発の初期化&lt;br /&gt;
 pnpm tauri android init&lt;br /&gt;
 &lt;br /&gt;
 # Androidエミュレータでの実行&lt;br /&gt;
 pnpm tauri android dev&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== TAURI_DEV_HOST環境変数 ====&lt;br /&gt;
モバイル開発時、環境変数 &amp;lt;code&amp;gt;TAURI_DEV_HOST&amp;lt;/code&amp;gt; は開発サーバがリッスンすべきホストアドレスを示す。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* デフォルト&lt;br /&gt;
*: パブリックネットワークアドレスが使用される。&lt;br /&gt;
* iOS実機&lt;br /&gt;
*: TUNアドレス (IPv6アドレスで末尾が &amp;lt;u&amp;gt;::2&amp;lt;/u&amp;gt; ) を使用&lt;br /&gt;
* 設定&lt;br /&gt;
*: &amp;lt;code&amp;gt;--force-ip-prompt&amp;lt;/code&amp;gt; オプションで対話的にIPアドレスを選択可能&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
==== 共通の問題 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ 共通トラブルシューティング&lt;br /&gt;
! 問題 !! 解決方法&lt;br /&gt;
|-&lt;br /&gt;
| Rustのコンパイルエラー || &amp;lt;code&amp;gt;rustup update&amp;lt;/code&amp;gt; コマンドを実行して、でRustを最新版に更新する。&lt;br /&gt;
|-&lt;br /&gt;
| ポートが使用中 || &amp;lt;code&amp;gt;lsof -i :5173&amp;lt;/code&amp;gt; で確認し、プロセスを終了する。&lt;br /&gt;
|-&lt;br /&gt;
| モジュールが見つからない || &amp;lt;code&amp;gt;pnpm install&amp;lt;/code&amp;gt; コマンドを再実行する。&lt;br /&gt;
|-&lt;br /&gt;
| キャッシュの問題 || &amp;lt;code&amp;gt;rm -rf node_modules &amp;amp;&amp;amp; pnpm install&amp;lt;/code&amp;gt; を実行する。&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== プラットフォーム別の問題 ====&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ プラットフォーム別トラブルシューティング&lt;br /&gt;
! プラットフォーム !! 問題 !! 解決方法&lt;br /&gt;
|-&lt;br /&gt;
| Windows || WebView2が見つからない || [https://developer.microsoft.com/en-us/microsoft-edge/webview2/ Edge WebView2]からインストール&lt;br /&gt;
|-&lt;br /&gt;
| Windows || ビルドツールエラー || Visual Studio Build Toolsをインストールする。&lt;br /&gt;
|-&lt;br /&gt;
| MacOS || Xcode関連エラー || &amp;lt;code&amp;gt;xcode-select --install&amp;lt;/code&amp;gt; を実行する。&lt;br /&gt;
|-&lt;br /&gt;
| Linux || webkit2gtkエラー || webkit2gtk-4.1パッケージをインストールする。&lt;br /&gt;
|-&lt;br /&gt;
| Linux || リンカエラー || MakeやGCC等の開発ライブラリをインストールする。&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 新規プロジェクト作成の流れ ==&lt;br /&gt;
 # 1. プロジェクトの作成&lt;br /&gt;
 pnpm create tauri-app my-tauri-app --template react-ts&lt;br /&gt;
 &lt;br /&gt;
 # 2. プロジェクトディレクトリに移動&lt;br /&gt;
 cd my-tauri-app&lt;br /&gt;
 &lt;br /&gt;
 # 3. 依存関係のインストール&lt;br /&gt;
 pnpm install&lt;br /&gt;
 &lt;br /&gt;
 # 4. 開発サーバの起動&lt;br /&gt;
 pnpm tauri dev&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CI環境での非対話プロジェクト作成 ==&lt;br /&gt;
 # CI/CDパイプラインでの使用例&lt;br /&gt;
 pnpm create tauri-app my-app --template react-ts --manager pnpm --yes&lt;br /&gt;
 &lt;br /&gt;
 cd my-app&lt;br /&gt;
 &lt;br /&gt;
 pnpm install&lt;br /&gt;
 pnpm tauri build&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:&lt;br /&gt;
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki&lt;br /&gt;
|keywords=Tauri,Rust,React,TypeScript,デスクトップアプリ,WebView,クロスプラットフォーム,Vite,create-tauri-app,HMR,ホットリロード,開発サーバ,テンプレート,tauri dev,tauri init,モバイル開発,iOS,Android,前提条件,トラブルシューティング,webkit2gtk,WebView2,rustup,Node.js,Xcode,Android SDK&lt;br /&gt;
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux&lt;br /&gt;
|image=/resources/assets/MochiuLogo_Single_Blue.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
[[カテゴリ:Rust]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
</feed>