はじめに
これまで書いてきた Jetpack Compose 関連の記事をまとめたリンク集です。「Composeのライフサイクルに関わる副作用API」「コルーチンの使い分け」「アーキテクチャ」「State管理」という切り口で、実例ベースに整理してきました。読みたいテーマから辿っていただければと思います。
記事一覧
ライフサイクルとFlow購読
-
Jetpack Composeで"見えていない画面"を無駄に動かさない - collectAsStateWithLifecycleとrepeatOnLifecycleの使い分け
-
collectAsState()のままだとバックグラウンドでも購読が止まらない、という落とし穴と、collectAsStateWithLifecycle()/repeatOnLifecycleによるライフサイクルを意識した実装を整理しています。
-
コルーチンと副作用API
-
Jetpack ComposeでLaunchedEffectとrememberCoroutineScopeを使い分ける実践ガイド
- Compose内でコルーチンを起動する2つの手段について、「Composeが自動でやる処理」か「イベントに応じて明示的にやる処理」かという軸で使い分けを解説しています。
-
Jetpack ComposeにおけるLaunchedEffectとDisposableEffectの使い分け
-
LaunchedEffectとDisposableEffectの違いを、「コルーチンの起動」か「登録⇄解除が対になるリソース管理」かという観点で整理しています。
-
アーキテクチャ
-
Jetpack ComposeにおけるMVVMとMVIの使い分け
- 同じログイン画面をMVVMとMVIそれぞれで実装して比較し、完全なMVIフレームワークのデメリットや、実務でよく採用される「MVI風MVVM」という落とし所まで踏み込んでいます。
State管理
-
Jetpack ComposeのrememberとrememberSaveableの使い分けとState Hoisting
-
rememberとrememberSaveableの使い分けに加えて、Compose公式が推奨するState Hoisting(状態のホイスティング)の考え方まで実例ベースで整理しています。
-
まとめ
副作用API(LaunchedEffect/DisposableEffect/rememberCoroutineScope)、Flow購読とライフサイクル、アーキテクチャ(MVVM/MVI)、State管理(remember/rememberSaveable/State Hoisting)と、Jetpack Composeで実務上つまずきやすいポイントを一通りカバーしてきました。今後も新しいテーマがあれば随時この記事に追記していく予定です。