🎃

google/wire を触ってみる

2023/03/27に公開

ref: https://github.com/google/wire

最新のリリースが0.5.0で止まっている。

As of version v0.3.0, Wire is beta and is considered feature complete. It works well for the tasks it was designed to perform, and we prefer to keep it as simple as possible.

らしいので、機能としては完成しているらしい。

とはいえ、Issues/PullRequestsが溜まっていて1年近く消化が進んでいないのが気になるところ。

役割としては、「依存性の注入」であり、アプリケーションの依存物を良い感じにビルドする部分を担うらしい。

tutorialを触ってみる。

ref: https://github.com/google/wire/blob/main/_tutorial/README.md

wireコマンドをインストールして、wire genすることで依存関係を整理したコードを生成してくれるので、そのコードを読み込んで利用する感じ。

使うかどうかで言うと、使わなさそう。

google/wireにロックインされたくない。機能が完成したと言ってもメンテナンスされていて欲しいが、IssueやPullRequestsをみる限り微妙な印象を受けたため。アプリケーションの複雑さ等にも依りそう。

依存物のビルド部分がgoogle/wire側で良い感じに行われるのは嬉しい反面、依存物間の関係性の理解が弱くなりそう。自動生成されるため。そんなことないのだろうか。

google/wire使わずにシンプルに設計することを考えた方が楽しそう。と思ったけれども、チームの理解度や状況次第では便利に使えるのかもしれない。

Discussion