Road to Single Activity

近年、Jetpack Composeを採用するプロジェクトが増加していると思います。 弊社U-NEXTのプロジェクトもその一例であり、以前はAndroidViewを利用してUIを構築していましたが、Composeを導入し、Navigation Composeを活用して画面遷移の仕組みを含むUIアーキテクチャを刷新しました。 しかし、その後の運用でいくつかの問題に直面しました。 具体的には、弊社アプリではNavigation Bar/Railを採用し、大きな機能ごとにタブ(Top-level Destination)を分け、NavGraphもその単位で分割しています。 しかし、各機能が密接に連携する仕様上、それらを跨ぐ画面遷移が頻繁に発生します。 さらに、そういった画面にはDeep linksによって呼び出されるものも含まれ、画面遷移は非常に複雑です。 これまでは、このような画面を共用するActivityに切り出すことで解決していましたが、Local Compositionの再設定やActivityごとにNavGraphの用意が必要になるなど、運用面でのコストが問題となりました。 そこで、こうしたケースに対して共用するActivityを用いた解決方法をやめ、Navigation Composeをフル活用したUI周りのアーキテクチャの刷新をもう一段階進め、Single Activity化を目指しました。 このセッションでは、弊社プロジェクトの事例を基に、Navigation Composeの利用方法を主役に以下のポイントについて詳しく紹介させていただきます。 - AndroidViewからComposeへのUIアーキテクチャの段階的な移行方法 - 複雑な画面遷移の仕様を持つアプリの開発例 キーワード - Navigation Compose - Nested NavGraph - Common NavGraph - Type safe navigation - Default argument - Multi back stack management - Top-level Destination’s back stack management - Navigation Bar/Rail control with WindowInset consideration - Screen Transition by Deep links - Compose Destinations (OSS)

  • yurihondo U-NEXT Co., Ltd.

発表資料を見る

概要

  • 日時 2024.09.13 / 14:20 ~ 15:00 (40min)
  • 場所 Hedgehog
  • 言語 日本語 (英語通訳あり)

対象者

- Android ViewからComposeへ移管するにあたってNavigation Composeの導入ノウハウを知りたい方 - Navigation Bar/Railの複雑なBackStack管理方法の事例を知りたい方 - Navigation Composeを用いた複雑な画面遷移の実現方法を知りたい方

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android、Google Play、Google Play ロゴは、Google Inc. の商標です。
これまでのDroidKaigi

© 2014- DroidKaigi 実行委員会