はじめに
Android 開発では、MVVM(Model-View-ViewModel) が公式推奨アーキテクチャの一つとなっています。
一方で、ドメイン層を明確に切り分け、保守性・拡張性を高めるために Clean Architecture を組み合わせる実例も増えています。
ここでは、実際のオープンソースプロジェクトを中心に「Clean Architecture × MVVM」の構成例を紹介します。
Clean Architecture × MVVM の基本構成
まずは典型的なレイヤー構成です:
presentation ← View, ViewModel(MVVM)
domain ← UseCase, Entity(ビジネスルール)
data ← Repository, DataSource(API, DB, Cache)
- MVVM: View ↔ ViewModel ↔ Model の責務分離
- Clean Architecture: 依存方向を内向きに制御、ドメイン層を中心に据える
実例プロジェクト一覧
1. Now in Android(Google公式)
- 技術: Kotlin, Jetpack Compose, Flow, Hilt
- 特徴: Google が提供する公式サンプル。MVVM をベースに、UDF(単方向データフロー)+ Repository 層を採用。
-
ポイント: 「クリーンアーキ層は必須ではないが推奨」という最新ガイドに従っている。
GitHub: Now in Android
2. Android Architecture Samples(Google公式)
- 技術: Kotlin/Java, LiveData, Room
- 特徴: ToDo アプリを複数のアーキテクチャ(MVP, MVVMなど)で実装。
-
ポイント: MVVM ブランチでは ViewModel + Repository を使った最小構成が学べる。
GitHub: android-architecture
3. Tivi(by Chris Banes)
- 技術: Kotlin, Jetpack Compose, Coroutines, KMP
- 特徴: 実運用レベルの大規模アプリ。オフラインファースト、Flow/Repository を駆使。
-
ポイント: ドメイン層を持ち、Clean Architecture × MVVM を実際のプロダクトでどう適用するかを学べる。
GitHub: Tivi
4. android-showcase(by Igor Wojda)
- 技術: Kotlin, Coroutines, Flow, Hilt
- 特徴: 「Clean Architecture × MVVM × マルチモジュール」のテンプレ的プロジェクト。
-
ポイント: 実務テンプレとして最も参考になる。CI/CD やテストも整備。
GitHub: android-showcase
5. Android-Clean-Architecture-MVVM-Kotlin(by Samad Talukder)
- 技術: Kotlin, Jetpack, Retrofit, Room
- 特徴: MVVM + Repository を教科書的に実装。
-
ポイント: シンプルに Clean Architecture のエントリを学びたい人におすすめ。
GitHub
6. Android-Modular-Clean-Architecture-MVVM(by alexanderommel)
- 技術: Kotlin, Hilt, Room, Retrofit
- 特徴: モジュール化された MVVM × Clean Architecture 構成。
-
ポイント: 大規模プロジェクトのスケール戦略を学べる。
GitHub
7. android-mvvm-architecture(by janishar)
- 技術: Kotlin/Java, RxJava, Dagger, DataBinding
- 特徴: MVVM の実戦寄りアプローチを網羅。
-
ポイント: DI、DB、ネットワークの実装をフルスタックで参考にできる。
GitHub
8. CleanArchitectureForAndroid(by Eran Boudjnah)
- 技術: Kotlin, Coroutines
- 特徴: “緩やかな” Clean Architecture 適用例。
-
ポイント: 厳密すぎない柔軟な導入を学べる。
GitHub
まとめ
- Google公式 → Now in Android(最新 Compose/UDF 実装)/Architecture Samples(最小 MVVM)
- 実務テンプレ → android-showcase(モジュール化+CI/CD)
- 大規模実例 → Tivi(実運用規模、オフラインファースト)
- 学習用 → Clean-Architecture-MVVM-Kotlin など
Android で Clean Architecture × MVVM を実践するなら、まずは Architecture Samples → android-showcase → Tivi と進めていくのがおすすめです。