Edited at

新しいAndroidプロジェクトを作るならこれ!Android設計&Kotlin入門資料集2019


この記事のターゲット


  • 新しいAndroidプロジェクトの開発を始めるので、ベストプラクティスを知りたい

  • Androidアプリの開発をやっているが、最近の設計をどこからキャッチアップしていいかわからない


この記事に載っていないこと


  • Androidアプリ開発の基本学習のための資料


Android設計入門

Androidアーキテクチャことはじめ ― 選定する意味と、MVP、Clean Architecture、MVVM、Fluxの特徴を理解する - エンジニアHub|若手Webエンジニアのキャリアを考える!


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。

PEAKS(ピークス)|Androidテスト全書


新規開発を始める前に

新規チームで新規開発を始める時にやること - Speaker Deck


Androidアプリ設計実装サンプル


Android Architecture Blueprints

Googleが公式に公開している、TODOアプリを題材にした様々なAndroidアプリアーキテクチャの実装サンプル。

googlesamples/android-architecture: A collection of samples to discuss and showcase different architectural tools and patterns for Android apps.


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

各コンポーネントのサンプルコードライブラリ。

Google Codelabs


Kotlin入門

Javaで開発をやったことがあれば、この2つを読めばKotlinの感覚がつかめる。

Google I/O 2017 : Introduction to Kotlin (和訳/要約) - Qiita

Kotlin入門までの助走読本(PDF)


公式サイト

Kotlinの最新の情報やリファレンスを読むなら公式サイトが確実。

Kotlin Programming Language


オンラインチュートリアル

Kotlin Koans: The Best Way To Learn Kotlin for Java Developers


アンチパターン

Kotlinアンチパターン | DroidKaigi 2018


あとがき

資料の多くは@konifarに紹介してもらいました。多謝!

他にもおすすめの資料があったら是非コメントしてください。