おいしい健康 開発者ブログ

株式会社おいしい健康で働くエンジニア・デザイナーが社内の様子をお伝えします。

Jetpack Composeはじめました

f:id:oishi-kenko:20211014084837p:plain:w250

こんにちは毎度お馴染みのそば屋です。

まだ機能としては未リリースですが、Androidアプリエンジニアの方に自慢したかったので、 導入周りの日記を公開します。 ※Composeの技術的な話しは出てこないつもりです。

導入準備

f:id:oishi-kenko:20211014085830p:plain

ふざけたタイトルのPRですが怒られません安心してください、 まずはkotlinなどのバージョンが古くCompose入れられなかったのでバージョンアップです。 普段のタスクをやりつつ合間合間に対応していました。 util系の処理で影響が出てしまい想定よりも工数がかかりました。

普段は誰か1人がApproveしてくれたらマージして良いルールなのですが、 影響範囲が広いので2人に見てもらいつつ自分も検証を続ける感じで、 PR出してからマージまでも結構時間をかけました。 ※リリースタイミングも他機能のリリースと混ぜてしまうと不具合があった時に原因を見つけにくくなるため悩みました。

導入された

そんなこんなで最初の導入は別の社員がやってくれました その時のtimesチャンネルを覗いてみます。

f:id:oishi-kenko:20211014091837p:plain

※僕はこのタイミングで別の仕事をしていたので羨ましさで泣いてましたw

僕も合流だ

f:id:oishi-kenko:20211014094652p:plain

さて、僕もとうとう合流です。 最初にコーディングに関わるルール作りをするのが正しい姿だとは思っていますが、

  • 現時点でComposeを触る機能に関わる人数が少ない
  • 導入するのは新規の1機能で数画面なので、負債を積んでも回収を前提にしておけば大きな問題にはならないはず。
  • みんな新しい技術触りたいし、新しい技術触ってる方が楽しいから早めに入れたい(リスクと天秤にかけつつですが)

との考えから、いったんSlackでのコミュニケーションは密にしつつある程度自由にやるようにしました。

経験不足に対する対応

f:id:oishi-kenko:20211014095146p:plain

実装時にも悩む事は多いですが、PRのレビュー時もComposeの経験・知識不足から時間がかかったりコメントの内容が正しいか悩むことも出てきました。 現時点では経験不足なので分からない事も分からない状態なので、実装時・レビュー時問わず悩んだらこのISSUEに気軽にコメントしていき、 機能開発が落ち着いたタイミングでチーム内で議論しコードの修正(負債の回収)を行うことにしています。

導入してみて

とりあえず、楽しいですね。

f:id:oishi-kenko:20211014100101p:plain

見てください!この僕の日報!!楽しさが伝わりますね。 ちなみに返事をくれてるのは開発チームの偉い人です。

お互いに使いまわせるComposableがありそうなこともあり、

  • 画面の実装に必要なComposableを用意してPRを出す。
  • ↑を使って画面のレイアウトを作ってPRを出す。
  • 機能実装してPR

的な感じでxmlの時よりも気軽に細かくPRを出しやすくなった気がします。 Composableを使いまわせるし、細かい単位になるので気軽にPRのレビューもできるしで、 悩みは多い物の気に入っています。