11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

自分が思う理想のメモツールを作ってみた

Last updated at Posted at 2025-10-10

こちらにメモツールのポジトリがあります
https://github.com/8bitTD/memo_dioxus/
memo_dioxus.gif

なぜ、この記事を書こうと思ったのか

普段、仕事でもプライベートでもメモを取る機会が多いのですが、
使っていたフリーソフトのメモツールが使いづらいと思うようになり 自分で作ってみよう
と思ったのが出発点でした。
その際、GUIクレートの選定やメモツールを作るうえでこだわった点などがいくつかあったので記事になるかなと思い、今回記事にしてみました。
RustでWindowsアプリを作りたい人には、参考になるかもしれません。

メモツールの要件

  • Rustで作る
    一番得意なプログラム言語なため
  • Windows上で動くもの
    仕事もプライベートもWindows10を使っていたため
  • ライトモードとダークモードの対応
    個人的にOSの設定がダークモードの場合、アプリはダークモードで表示されてほしいと普段から思っていたため
  • .txtでメモの内容を保存する
    txtファイル管理が一番取り回しがしやすそうだったため
  • 項目ごとにタブでメモ内容を分ける
    メモを遡って見る場合に便利なため

GUIクレートの選定

egui, tauri, dioxus と試した結果、dioxusを採用

egui を不採用にした理由

  • CSSで見た目を調整出来なかったため
  • こちらでも書いたのですが、TextEdit::multilineの改行時の挙動に問題があったため

tauri を不採用にした理由

  • CSSで見た目を調整で出来て、一番表現の幅が広くて良かったのですが、
    変数がRustとTypeScriptの2重管理になり不具合が起きたときの原因調査がx2になって面倒になったため

dioxus を採用した理由

  • CSSで見た目を調整出来て、メイン処理をRustだけで書けたため

要件以外でこだわった点

  • メモを作成した時にすぐにtextareaにカーソルがフォーカスするようにこだわりました。
    こちらのexamplesにフォーカスのサンプルが乗っいて、参考にさせていただきました。
    aaa.gif
  • メモ検索時に出来るだけメインスレッドを止めない (応答不能にならない) ようにすることにこだわりました。
    image.png
    こちらに非同期で変数を渡す処理が乗っていて、参考にさせていただきました。

現状の不満点

  • メモが多くなってきて挙動が重くなったときの対応
    現状では、oldフォルダ にメモを移動させて、定期的に oldフォルダ 内を削除する方法を取っております。
    image.png
    将来的にもっと洗練された方法にしたいと思っております。

まとめ

3回くらい作り直して、ようやく理想に近いメモツールが出来たかなと思っております。
良かったら使ってみてください。(*´∀`)ノ

11
7
1

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
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?