この記事のターゲット
- 新しいAndroidプロジェクトの開発を始めるので、ベストプラクティスを知りたい
- Androidアプリの開発をやっているが、最近の設計をどこからキャッチアップしていいかわからない
この記事に載っていないこと
- Androidアプリ開発の基本学習のための資料
Android設計入門
Jetpack(Android Architecture Components)
新しくプロジェクトを作るのであればJetpackをフル活用するべき。
Jetpack は、優れた Android アプリを簡単に開発できるようにするための Android ソフトウェア コンポーネントのコレクションです。
─ Android Jetpack
アプリのアーキテクチャ ガイド | Android Developers
実践
Kotlin + Architecture Component + Dagger2によるAndroidアプリ設計 - Qiita
Google公式のAndroidArchitectureComponents実装サンプル集(2019/04/10追記)
googlesamples/android-architecture-components: Samples for Android Architecture Components.
Flux
データフローを単一方向にするアーキテクチャです。
Action、Dispatcher、Store、Viewという4つのコンポーネントがあり、それぞれ次のような役割を担っています。
Flux | Application Architecture for Building User Interfaces
実践
Architecture Components + Flux (+ Kotlin)によるAndroidアプリ設計 - Qiita
DI
最近はレイヤードアーキテクチャにしてテストを書きやすくして、レイヤー間はDIで依存性注入するみたいな感じが主流になってきている。
今日から始める依存性の注入 - DroidKaigi 2019
テスト
テストについてはこれだけ読めばOK。
新規開発を始める前に
新規チームで新規開発を始める時にやること - Speaker Deck
Androidアプリ設計実装サンプル
Android Architecture Blueprints
Googleが公式に公開している、TODOアプリを題材にした様々なAndroidアプリアーキテクチャの実装サンプル。
DroidKaigi公式アプリ
日本で最も参考になるオープンソースアプリ。
2019(Flux)
DroidKaigi/conference-app-2019: The Official Conference App for DroidKaigi 2019 Tokyo
2018(AAC)
DroidKaigi/conference-app-2018: The Official Conference App for DroidKaigi 2018 Tokyo
2017(MVVM)
DroidKaigi/conference-app-2017: The Official Conference App for DroidKaigi 2017 Tokyo
Google Codelabs
各コンポーネントのサンプルコードライブラリ。
Kotlin入門
Javaで開発をやったことがあれば、この2つを読めばKotlinの感覚がつかめる。
Google I/O 2017 : Introduction to Kotlin (和訳/要約) - Qiita
公式サイト
Kotlinの最新の情報やリファレンスを読むなら公式サイトが確実。
オンラインチュートリアル
Kotlin Koans: The Best Way To Learn Kotlin for Java Developers
アンチパターン
Kotlinアンチパターン | DroidKaigi 2018
あとがき
資料の多くは@konifarに紹介してもらいました。多謝!
他にもおすすめの資料があったら是非コメントしてください。