tauri を使ってみた

作ったもの

影響管理を確認するための隣接行列編集ツール(https://github.com/mogwai-dev/mogwai-project-manager) windows用。

使い方

github の release に飛んでもらってテンプレートフォルダとアプリをダウンロード。 アプリを起動すると、フォルダ入力ウィンドウがでるので、テンプレートフォルダを解凍してもらって選択。 フォルダ内の .list ファイルと .table ファイルを読み込んでタブが作られる。 .list ファイルには項目が書いてある。フォーマットは 2 列で id と 概要の csv ライクなフォーマット。 .table ファイルは .list ファイル間の組み合わせで .table のタブに飛んでもらうと設定した .list ファイルの組み合わせがすべて表示される。.list ファイルをクリックすると閉じたり開いたりできる。セル内をダブルクリックすると編集でき、影響がある場合は〇、影響がない場合は - となる。〇 印をクリックするとそれに依存する影響がカラーリングされる

tauri ってなんぞや

OS の Web View (ブラウザみたいに html と javascript を読み込んでくれるウィンドウ) を使用したデスクトップアプリ作成フレームワーク

tauri.app

内部構造としては html と javascript を使用する Web View 側のソースコードと OS や native な ライブラリや API を使用するためのシステム構造側のソースコードがある。Web View 側とシステム側は IPC で通信をする。

tauri を使用した動機

  • 今までのデスクトップアプリでは UI の作成にだいたいフレームワーク固有の言語だったり独自の UI システムを採用しているため、汎用性が悪く、将来性も悪い。
  • Web View を使用しているということで Web のフレームワークや UI ライブラリが使いやすく、情報も多いため工数削減が図れ、任意のウェブアプリのフロントエンドの演習として将来性が高い。

感想

個人的にかなりとっつきやすかった。React と Rust は情報が多いので、検索すればすぐ出たり行き詰っても AI に聞けばヒントを教えてくれる。書いててちょっと気になったのはフロントとシステム側で IPC を用いているので、パフォーマンスは出ないんだろうなと思ってる。