feature image

2022年9月19日 | ブログ記事

tauri でアプリケーションをつくった

こんにちは、もう夏も終わってしまい「とき~できる」効果だったため今年もアオナツラインをやるタイミングを逃したりょはです
最近、kindleでは売ってないような漫画を読むためのソフトを作ったのでその技術スタックとそのなかで思ったこととかを今回書いていきます
ダウンロードはここからできます
サムネはこのソフトに写真を入れたやつです

この記事は夏のブログリレー 2022年 41日目の記事です

技術スタック

tauri

tauri は rust でデスクトップアプリケーションをかけるあれですね
デスクトップアプリを作りたかったので tauri か electron か WPF か何かなら tauri かなぁって思って選んだ
rust 書きたい

solid js

tauri は webview をクライアントとして使うので react とか vue とか svelte みたいなフレームワークを使うとUI構築が楽ができます
そのなかで solid js を選んだのは書いたことがなかったから

sqlite

データを保存する必要があってJSONでもよかったけどいろんな絞り込みをしたくてSQLが適してそうだったから
sqlx クレートを使うと bundle してくれて気軽に使えます

思ったこと

tauri

electron と比べて辛いのはクライアントとのIPCに同じ型情報を使えないからそれぞれで提議しなきゃいけないところ
あとは electron (Node js) にあるようなライブラリが Rust にはないことが多い
特に画像処理に使った image クレートは画像の encode/decode が重すぎて困った

いいところは Rust でかけること
OS 周りの処理が丁寧に Result 型で扱えるから書きやすい
あとバンドルサイズが200分の1とかなのも大きい
あと Node は gyp が沼りがちだけど Rust は基本的にそんなことないのがうれしい

公式ドキュメントに書いてないことはここを見ると書いてたりする
https://jonaskruckenberg.github.io/tauri-docs-wip/introduction.html

solid js

React だなぁってぐらいしか思ったことがない
reactivity まわりのオブジェクトの扱いは vue3 を触ってると困らなそう
UIライブラリを使わない派だから大丈夫だったけどいい感じのUIライブラリはない
一番の不満は<Show>っていう<v-if>みたいなものがあるんだけど型推論が効かないこと

<Show when={hoge}>
  <div>{hoge}</div> <-型推論でここが`undefined`になりうるっていわれる
</Show>

sqlite

特にない
ファイル消せばデータが消えるの手軽でうれしい
実際に書いてみてソート条件とかグルーピングとかを多用したからJSONじゃなくて正解だった

おわりに

クソ詰まんない記事でごめんなさい

最後に今やってるFANZAの 【まとめ買い】2,100作品以上から3本選んで3,000円!秋のブランド合同セットのおすすめを書いて終わります

さよなら

ryoha icon
この記事を書いた人
ryoha

美少女ゲームをするためだけに生まれてきた真の戦士です。夢は「グガガガガガ...コレガ....アイ..」ってなることです。

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2021年8月12日
CPCTFを支えたWebshell
mazrean icon mazrean
2022年9月26日
競プロしかシラン人間が web アプリ QK Judge を作った話
tqk icon tqk
2022年9月16日
5日でゲームを作った #tararira
Komichi icon Komichi
2023年9月27日
夏のブログリレーは終わらない【駄文】
Komichi icon Komichi
2023年9月13日
ブログリレーを支えるリマインダー
H1rono_K icon H1rono_K
2023年8月21日
名取さなになりたくてOBSと連携する配信画面を作った
d_etteiu8383 icon d_etteiu8383
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記