ｷﾆﾅﾙ Tauri (v2) プラグインリスト

# はじめに

更新用 Tauri プラグインリスト (v2 対応) を自分用に作成しようという試み。
実際に試してまとめた記事のリンクもこちらに掲載していくが、まだ試していないものも載せていくので、とりあえずリンク集になってしまうのはあらかじめ断っておく。(また、いくつかはまだ v2 版を試していないので、それらは後日、該当記事を更新予定)

結構お試し実装したものは2024年から書き始めているので、今年の年末アドカレのネタとしても記事投稿を記録しておくのもいいかと思い。

# 公式プラグイン

## Autostart

OS 起動時に自動起動を仕込めるプラグイン。
内部では `auto-launch` というクレートを使用して実装されている。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51857/1574018e-1fff-3fda-e077-557fdcb105ac.png)

https://tauri.app/plugin/autostart/

### まとめ別記事

https://qiita.com/takavfx/items/4c07a30307af573aa0af

## File System

Tuari 上からファイルにアクセスするプラグイン。
特にフロントエンドからアクセスしたい場合は、まずはこちらの導入を考える事になる。

https://tauri.app/plugin/file-system/

## Global Shortcut

アプリ起動中であれば、アプリのウィンドウにフォーカスが合っていない場合にも有効なショートカットキーを設定できるプラグイン。

https://tauri.app/plugin/global-shortcut/

## Logging

Tauri のロギングをサポートするプラグイン。
ロギングのベースは Rust で構成されているが、フロントエンドの Webview の `console.log()` 等で出出したログも同時に収集してくれる。
ログは標準出力以外に、ファイル出力にも対応している。
自らで追加のログが欲しくならない限りはこれでも十分かも。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51857/8a1959ed-f87b-51cb-a7b9-0b7dffa8bd3f.png)


https://tauri.app/plugin/logging/

### まとめ別記事

https://qiita.com/takavfx/items/071b6481324a0862244d


## Notification

通知を行うサポートをしてくれるプラグイン。
通知はポップアップでの表示に対応。

Tauri v2 対応のプラグインからは、ポップアップ通知に [Action](https://tauri.app/plugin/notification/#actions) を追加できるようになった。
つまり、通知のポップアップをクリックした際の挙動を与える事が出来る様になった。
v1 の頃はこれが実装できなくて見て見ぬふりをしてスルーしていたので、ありがたい…！

https://tauri.app/plugin/notification/#supported-platforms

## OS Information

OS 情報の取得サポートを行うプラグイン。
場合によってサポートされない OS などアプリ側で知るために利用。

https://tauri.app/plugin/os-info/

## Shell

shell、コマンド実行を子プロセスで行えるようにするプラグイン。
Tauri 内に内包する[サイドカー](https://tauri.app/develop/sidecar/)をコマンド実行する際にもこちらを使用する。

https://tauri.app/plugin/shell/

## Single Instance

単一インスタンスのみを起動するように実装できるプラグイン。
いわゆるグローバルシングルトン的なウィンドウを作ることができる。
主な実装例は、既に起動しているウィンドウをアクティブ化 & フォーカスする挙動を実装する事だが、同時に何か処理を埋め込むことも可能。

![single-instance.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51857/19049456-50bd-62e6-89f9-5e4eb75c8946.gif)

https://tauri.app/plugin/single-instance/

### まとめ別記事

https://qiita.com/takavfx/items/d0335f47c80ff58e9c5b


## SQL

SQL データベースを扱うプラグイン。
[sqlx](https://github.com/launchbadge/sqlx) クレートをベースにしてある。
SQLite、MySQL、PostgreSQL に対応。
デスクトップアプリは SQLite にユーザーデータを溜めていくことも多いと思うので、こちらも重宝するだろう。

https://tauri.app/plugin/sql/

## Store

KeyValue タイプのシンプルな状態保存用プラグイン。
先の SQL 程まで行かないシンプルにユーザーの状態管理をしたい場合はこちらを使用する選択も良い。

https://tauri.app/plugin/store/

:::note info
**その他の実装？**
例えばもっと細かくコンフィグを管理したい場合だったり、より Rust 側で安全な実装を目指したい場合は独自実装するという手も取れる。

その場合は、[Tauri でのオレオレ UI 状態管理とコンフィグ管理 v1](https://qiita.com/takavfx/items/5c27d22df50be45a8968) で記載したような実装をしていくことになる。
:::

## Updater

Tuari アプリのバージョンアップデート機能をサポートするプラグイン。
こちらの機能は、Tauri ビルド時に生成されるインストラーと同時に使用するので、[バンドルシステム](https://tauri.app/distribute/)の方も参照する事。

https://tauri.app/plugin/updater/

### まとめ別記事

:::note info
アドカレの1記事としているので、後日アップデート予定
:::

# Window State

ウィンドウ状態を保存するプラグイン。

https://tauri.app/plugin/window-state/

### まとめ別記事

https://qiita.com/takavfx/items/531bc89ac402f9cdf6a7

# 非公式プラグイン

## tauri-ahq-store

Open Source の App Store 用プラグイン。

https://github.com/ahqsoftwares/tauri-ahq-store

## Tauri Mobile View Plugin

モバイル上で、ファイルビューやシェアビューを展開できるプラグイン。

https://github.com/ecmel/tauri-plugin-view

## Tauri Controlls

Desktop OS (Windows / macOS / Linux) 上で、ｲｲｶﾝｼﾞの Window コントロールを提供してくれるプラグイン。


https://github.com/agmmnn/tauri-controls
# まとめ

Tauri v2 になって、プラグインの実装の柔軟度がかなり高まった。
今後もプラグインは増えていくだろうし、実装のアイデアに合わせて組み換えをしたいのもある。
また、これやりたいけどないな？となったら、いざプラグイン開発の道へ！という判断もできるので、こうして今年のまとめと出来たことはいいことだろう。
また、来年の Tauri プラグイン界隈の発展に期待したい。[