「一旦 Android View で組んであとから Jetpack Compose 化したらどうですか? 最初から Jetpack Compose でやる必要なくないですか?」
と言われたときどうしよう案件
オチはない
基本的に説得材料集めるために書いてるので視点は偏っているし、裏付けがあるわけでない内容もあるので話半分で眺めてね
- これ読んで
- Google が時期主力 UI 開発ツールキットとして移行を推奨している
- 開発リソースは Jetpack Compose へ寄っていくことが予想できる
- 故に Android View はそのうちメンテナンスモードになる
- Jetpack Compose は OS に組み込まれておらず、独立したライブラリ(群)として提供されている
- Android View と異なり、クライアント OS のバージョンに関わらず最新の機能が使える
- 不具合修正も同様に、アプリ側でライブラリの更新をすれば取り込める
- 最近(といってもだいぶ昔からだけど)のトレンドである宣言的プログラミングを採用している
- UI 定義とふるまいの定義が同じ場所にあるから、ファイルを行ったり来たりする無駄がない
- Android View よりもテストが書きやすい
- コードが少なくてすむ
- Android View の方が実装速度はやい?
- そんなことはない
- しかし習熟度の関係で一時的に Android View で作ったほうが早い、と思われる場面はありそう
- 書き直す時間まで考えると倍になる
- 正直「書き直す時間がもらえるだろう」と確信できる信頼関係があるなら(あるいはいスケジュールに組み込んでもらえてるなら)、 Android View で書いちゃってもいいんでないの、とは思う
- Jetpack Compose は拡張性を念頭に作られているので、カスタムコンポーネントは作成しやすい
- Android View ではめんどくさくて諦めていたテストも書いているから、ちょっと時間はかかってるかもしれないがトータルで品質は上がっている説
- ビルドがはやい
- アプリサイズが小さくなる
- 新技術へのモチベーションで効率アップ
- そもそも「あとから Jetpack Compose 化」する機会は訪れるのか
基本的に
- 今コストかかってるかもしれないが、長いスパンで見ると品質や開発速度は上がってますよ
- そもそも「(習熟度の問題があるから) Android View のほうが早く実装できますよ」は幻想
- Jetpack Compose で書くと技術広報や採用でもアピールできますよ
- 価値観が合わないので転職しますね
- 実際タイトルのようなことを言われてモヤッと/イラッとした、ということは良好な信頼関係気づけてない説ありません?
みたいな選択肢になるんじゃない(暴言がすぎる)