スキップしてメイン コンテンツに移動

きつねゆっくりリネーマーというツールを作った

きつねゆっくりリネーマーを作った

きつねゆっくりリネーマーという名前のツールを作りました。

こちらからアクセスしてください

技術関連に関するあれやこれ

今回は、自分の主戦場でもあるJavaScriptをベースにツールを作ろうという事で、色々模索した結果

vite+TypeScript+electron

という技術選定になった……が、実際にはTypeScriptはほぼ使っておらず、JavaScriptメインでの実装になってしまった。 これに関しては、今後のアップデートなどで更新出来たら良いなぁぐらいに思っている。

electronでfsなどを使うためには、色々工夫が必要で、preload.jsにcontextBridgeやらipcRendererを経由して、background.jsでデータをやりとりするみたいな感じになった。 レンダラーの所では、window.API名みたいな感じでアクセスするのだが、これの部分にはちょっと工夫が必要で、App.tsxを見てもらえば分かるのだが、

declare global { interface Window { api?: any } }

の設定と、関数内で、

if( window.api )

というチェック処理が必要になる。これをやらないとコンパイルが上手く通らない上、画面が真っ白になって動かないというバグがあった。 これは、デバッグモードでは見つけることが出来ないバグだったので、色々と辛かった。

まあ、いずれにせよ、このツールを作る事で、electronアプリの作り方を一通り体験出来たのは良かった。 nodejs周辺のライブラリを使うのにはかなり工夫が必要なのだが、一旦覚えてしまえばそこまで複雑な処理ではないので、勉強できて良かった(小並感)。

その他今後やっていきたい事

今回、ビルドしてみて改めて思ったのは、electronアプリのサイズがでかすぎるという事。 Hello,worldレベルのアプリに125Mは流石にでかすぎる。 サイズ的には30Mとか40Mくらいに抑えられるものだと思っているので、今後何かしら良い方法を知ることが出来たら、それで実装してみたいと思う。

コメント