Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する

Androidアプリの開発において悩ましいアーキテクチャの選定。本記事では選定する意味を改めて整理し、 MVP・Clean Architecture・MVVM・Fluxといった最新の実例を紹介します。

Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する

はじめまして。Androidエンジニアの藤原聖(ふじわら・さとる/@satorufujiwaraです。
現在は株式会社サイバーエージェントで、エンジニアリングマネージャーを兼任しています。2017年で35歳になり、定年を迎えました(プログラマの定年については「体型を支える技術」などを参照)

Androidアプリ開発には2010年から携わっていますが、今現在の関心事は何といっても公式開発言語に採用されたKotlin。そしてもう一つが、Androidのアーキテクチャ(設計)です。私もこれまで次のような記事を公開してきました。

1 RxJava + Flux (+ Kotlin)によるAndroidアプリ設計 2
3 Kotlin + Architecture Component + Dagger2によるAndroidアプリ設計 4

Android開発において、アーキテクチャを考えることはとても重要です。上記のエントリーでも述べたように、アーキテクチャに絶対の正解はなく、アプリケーションの規模やチームによってさまざまな形が考えられます。

また、Androidのアーキテクチャについては国内海外を問わず、これまでさまざまな議論が行われてきましたが、2016年にアーキテクチャのサンプルである「Android Architecture Blueprints」がGoogleによって公開され、さらにGoogle I/O 2017では「Android Architecture Components」が発表されました。

これによって、Androidにおけるアーキテクチャの議論はいったん収束の時期を迎えているように思います。

本記事では、Androidにおいてアーキテクチャを選定する意味を改めて整理し、現状のAndroidのアーキテクチャの実例を紹介します。これからAndroidのアーキテクチャを考える方々の参考になれば幸いです。

アーキテクチャにおけるデザインパターン

エンジニアHubに会員登録すると
続きをお読みいただけます(無料)。
登録ボタンを押すと、利用規約プライバシーポリシーに同意したことになります。
登録のメリット
  • すべての過去記事を読める
  • 過去のウェビナー動画を
    視聴できる
  • 企業やエージェントから
    スカウトが届く