【Tauri】sidecarについて
まだまだ調べることはありそう
TL;DR
別バイナリをbundleに含めてメインアプリから利用するために存在しそう
特に既存バイナリとか別言語で作ったバイナリとか
なお、各プラットフォームごとのバイナリを用意しておかないとだめ(詳しくはドキュメントにある)
tauri sidecar
tauriのsidecarとは別にsidecarパターンってのはあるが概念としては近いのかな?
sidecarの理解
ビジネスロジックとは外れる処理(ロギングやメトリクス取得など)の管理を離して、コア側をスッキリさせる設計
このsidecarパターンってのは今回のtauri sidecarとは違うかもしれない。
アプリケーションと一緒にバンドルされる外部バイナリ(実行可能ファイル)
見る感じ、どの言語で書かれたバイナリでも良さげ。
すでにある既存のCLIツールやバイナリをTauriアプリに統合するために使う。
q.icon sidecarのユースケースがいまいち不明
Common use cases are Python CLI applications or API servers bundled using pyinstaller.
どういうユースケースなんそれ。
まだユースケースは見えない。
SideCarプロセスをmainから起動して、そのプロセスと通信できる。
こっちからデータを送れるし、向こうからのデータ受信も可能。
stdout/stdinの方式を取ってるらしい。これIPCの手段の一つなのかな。Pipe方式か? おそらくそうだな。だとしたらなぜPipe方式なんだろう。
言語別でも簡単に対応可能だからかな?
フロント側のjsからもsidecarプロセスを呼び出せるっぽい。
なんとなく理解した。
別プロセスをメインから呼び出して、それと通信できるって話やな。
おそらくsidecarに使うのはすでにある既存のbinaryとか。別言語で書かれたbinaryとかなんだろう。
ユースケースを見るに...
メインから子プロセスとして呼び出して、それと通信する動きしてるから。
多分、メインプロセスのライフサイクルを超えることは出来ないと見える。