🦄

tauri(Rust+Typescript)でプロジェクトフォルダを管理するツール開発

2024/01/30に公開

前提

仕事しているときに、ローカルにクローンしているフォルダへいちいちエクスプローラから向かうのが面倒になってツールとして独立させたくなったので作ってみた。
(ショートカットを張ってきれいに管理すればよいと言われれば何も言い返せないがビジュアル的にいい感じにしたかったのとワンクリックでvscodeで開いたりコマンドプロンプトで開いたりしたかったこともあってとりあえず作ってみた)

結論

以下のアプリを作った。
https://github.com/Gyabi/ProCap

インストーラと手軽に使えるようにexeファイル単体もリリースしておいた。
https://github.com/Gyabi/ProCap/releases

基本的には事前にプロジェクトという単位でパスやリンクを登録して、表示されるボタンを押下すると開くようにしている。

選定技術

フレームワーク

フレームワークはTauriを採用した。
https://tauri.app/
Javascript/TypescriptでUI側を作成し、実処理をRustで書くフレームワーク。
実質、Electronをよりパフォーマンスよくビルドできるようにしたもの。
個人的に思う利点は以下

  • フロントエンドをTypescriptで書けるのでライブラリが豊富でUIを構築しやすい
  • バックエンドはRustなので、仮にドライバ周りの深めの機能を作りたいときでも問題なく取りかかれる
  • 生成される実行ファイルが非常に小さく完成度が高い

フロントエンド

フロントエンドは以下の構成で構築

  • Nextjs14
  • tailwind css

また、ドラッグアンドドロップを実装しているが今回は以下のライブラリを使った。
https://dndkit.com/
正直サンプルコードが結構簡素で本業でフロントではない身としては結構読み解くのが大変だった。
ただこれがなかったら並べ替えのロジックとかを書くのはめんどくさすぎて心が折れていた。。

最後に、普段tauriで開発するとき使っているテンプレートプロジェクトのリンクも貼っておく
https://github.com/Gyabi/TauriGUITemplate

Discussion