Elm Advent Calendar 2022 20日目の記事です
土日に書こうと思っていましたがスト6βにどハマりしていたので、Elm+Tauriの感想を個人ブログの方にサクッと書くことにしました
動機
- かれこれ2年間くらいちまちまと保守しているBlenderのプロジェクト管理ツールがあった
- フロントエンド側はElm、エンジン側はElectron(node.js) → lorca(Golang) → carol(Deno)のように載せ替えてた
- lorca系はブラウザのアップデートで突然動かなくなることが多かった
- とはいえ今更Electronに戻すのは気が重い
- そこで最近話題のTauriを使ってみることに
感想
- フロントエンドとエンジン間のIPC通信(Electronのような)が用意されている方式なのでセキュアな感じ
- IPC通信用の豊富なAPIが用意されていてRustを全く書かずに載せ替えることができた
- 特にfs関連を用意してくれているのがありがたい
- https://tauri.app/v1/api/js/
- ロゴがかっこいい
- デフォルトだとElmのDebuggerは動かなさそう
- 動かす方法もありそうだがそこまで利用しないので未調査
- elm-ts-interopとの相性が良さげ
- elm-watchとの相性も良さげ
- ビルドも特に問題なくできた
やってみたいこと
- モバイルアプリ対応する噂があるのでElmでモバイルアプリ作れるかも(そもそも必要かどうかは置いといて)
- Tauri + Elm + Three.js(あるいはBabylon.js)でゲームを作ってitch.ioやsteamで配布するということが出来そうなので試してみたい