Upgrade to Pro — share decks privately, control downloads, hide ads and more …

設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略

Avatar for SansanTech SansanTech PRO
September 03, 2026

 設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略

■ イベント
DroidKaigi
https://2026.droidkaigi.jp/

■登壇概要
タイトル:設計の世代交代を乗り越える、14年続くAndroidアプリの開発戦略
登壇者:技術本部 Eight Engineering Unit Mobile Applicationグループ 荒 翔太、若⽥ 直希

■ 技術本部 採用情報
https://media.sansan-engineering.com

Avatar for SansanTech

SansanTech PRO

September 03, 2026

More Decks by SansanTech

Other Decks in Technology

Transcript

  1. 荒 翔太 技術本部 Eight Engineering Unit Mobile Applicationグループ - 新卒⼊社7年⽬

    - 普段は関⻄に⽣息しています - 今年から通信制⼤学に通っています
  2. 若⽥ 直希 技術本部 Eight Engineering Unit Mobile Applicationグループ - Sansan株式会社に2025/11に中途⼊社

    - 北海道⽣まれ北海道育ちの左利き - マラソンにハマっています
  3. 設計パターンの変遷 初期 1. MVC 2. MVP Rx基盤 3. 独⾃Flux 4.

    RecyclerView + 独⾃Flux 5. 独⾃Flux + ViewModel MVVM 6. Activity + MVVM + UseCase 7. Compose + MVVM
  4. 具体的なシチュエーションを想像 - 新しい画⾯を新しいアーキテクチャで作ることを想定 - 古いデータ層の情報が欲しい場合 UI Layer MVC MVP Flux

    MVVM Domain Layer(optional) データ層 Data Layer 引用:アプリ アーキテクチャ ガイド 別の⾮同期処理 / ローカルDB
  5. 具体的なシチュエーションを想像 直接依存は設計が積み重なってしまう MVC MVP Flux MVVM データ層 UI Layer Domain

    Layer(optional) Data Layer 引用:アプリ アーキテクチャ ガイド 作り直しは影響範囲が広すぎる 過去実装に依存してしまう
  6. 境界を作る - 古い実装には直接依存させない 依存性を逆転させる!! 新 UI Layer 旧 BridgeImpl データ層

    Domain Layer(optional) Bridge Interface Data Layer 引用:アプリ アーキテクチャ ガイド
  7. 境界を作る - 古い実装には直接依存させない 依存性を逆転させる!! 腐敗防⽌層として機能させる!! - Realmのモデル → Bridgeの型 -

    RxJava → Coroutines / Flow 新 UI Layer 旧 BridgeImpl データ層 Domain Layer(optional) Bridge Interface Data Layer 引用:アプリ アーキテクチャ ガイド
  8. 境界を守る 境界を作っても無意識的にルールを破ってしまう レビューでも⾒逃してしまう OK 旧 新 新 interface 旧 NG

    新 旧 静的に検査し、機械的に保証する - 依存グラフを検査するGradleプラ グイン - 違反があれば失敗させCIで検出