技術ブログ

スポンサーリンク
社員ブログ

第9回:ViewModel に何を書いて、何を書かないか

― Compose時代に“ViewModelが太る”問題の処方箋 ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を導入すると、UIの責務が大きく変わります。UI は「状態を描画するだけ」副作用は ...
社員ブログ

【習慣トラッカー開発記 #9】カテゴリー選択画面の実装 — 画面遷移とデータ連携について

はじめに前回の記事では、登録・編集画面の ViewModel 設計と状態管理について紹介しました。今回は、本画面の設計において、特に意識した「状態をどこに持たせるか」と「画面の責務をどこまでにするか」の2点についてまとめます。状態は一貫して...
Android

第8回:UI State を正規化しないと破綻する理由

― Boolean が増えた瞬間、UI は壊れ始める ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を使っていると、最初はこう思います。「状態を持たせれば UI は書ける」そして気づくと、View...
社員ブログ

第7回:再コンポーズを恐れなくていい理由

― Compose を壊すのは「再コンポーズ」ではなく「誤解」だった ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を使い始めた多くの人が、必ずこう言います。「再コンポーズが多すぎて不安」「無駄に...
Android

第6回:イベントは State にするな

― Snackbar / Navigation / Toast が UI を壊す理由 ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を使っていると、ある時ふとこんな設計になります。data cla...
社員ブログ

【習慣トラッカー開発記 #8】登録・編集画面の ViewModel 設計と状態管理について

はじめに前回の記事では、習慣の「登録画面」と「編集画面」を分けつつ、共通UIを HabitForm に集約する構成について紹介しました。UIの共通化自体は比較的スムーズに進んだ一方で、実装中に最も悩んだのが 「状態をどこで持つか」 でした。...
社員ブログ

第5回:SideEffect / DisposableEffect / LaunchedEffect の使い分け完全整理

― Compose の“副作用”を制御できないと設計は必ず壊れる ―※ChatGPTを使用して記事を作成しています。はじめにJetpack Compose を触り始めてしばらくすると、誰もがこの壁にぶつかります。「LaunchedEffec...
技術ブログ

第4回:remember と rememberSaveable の正しい使い分け ― 若手が一番つまずく状態保持の本質

※ChatGPTを使用して記事を作成しています。Jetpack Compose を学び始めたばかりの人が必ず抱える悩みがあります。それは――「なんで状態が消えるの?」この問題のほとんどは、remember と rememberSaveabl...
社員ブログ

第3回:MutableState と不変データ構造の本当の関係

※ChatGPTを使用して記事を作成しています。Jetpack Compose を始めたばかりの若手エンジニアが必ずぶつかる壁――それが「値を更新したのに UI が変わらない」問題です。原因は単純で、しかし非常に奥が深い。今回のテーマは M...
社員ブログ

【習慣トラッカー開発記 #7】習慣登録画面と編集画面の共通化について

はじめに前回の記事では、Room × Flow × ViewModel を使ったデータ構造とDB設計について整理しました。今回はその続きとして、習慣の登録画面と編集画面のUI設計について紹介します。一見似ている2つの画面ですが、完全に分けて...
スポンサーリンク