Android アプリエンジニアがよく見るであろうサイトや、Android アプリ開発を勉強するときにどこから手をつければいいのか学習のチュートリアルを紹介しようと思います。
公式ドキュメント
-
Android の公式ドキュメント
- 日本語のページは情報が古く更新されていない時がよくあるため、公式ドキュメントのページを見るときは
?hl=en
をつけて極力英語のページを見るようにしましょう
- 日本語のページは情報が古く更新されていない時がよくあるため、公式ドキュメントのページを見るときは
- Kotlin の公式ドキュメント
- Material Design の公式ドキュメント
開発環境
-
Android Studio
- プレビュー版はこっち
情報収集
-
Android Code Search
- Jetpack や Android のコードを検索できるサイト
- 今後リリース予定のライブラリの実装やライブラリのコードを検索するときに使うことがある
- Jetpack に関しては GitHub にミラーが存在するのでこちらの方が慣れていて見やすい場合もある
- Jetpack や Android のコードを検索できるサイト
-
AndroidX releases
- Jetpack のライブラリが更新されたらここにリリースノートが記載される
- alpha / beta のライブラリの変更まで追いかけることができると今後の実装方針とかを立てやすくなる
- Ian Lake 氏の Twitterでもよく更新内容のまとめを流してくれるのでフォローしておくのもおすすめ
- Jetpack のライブラリが更新されたらここにリリースノートが記載される
-
Android Dagashi
- 1 週間の Android 関連の情報をまとめてくれているサイト
- 毎週日曜の夜に更新されるので、これを見ておくだけでも Android アプリ開発周りの情報を知ることができる
- 1 週間の Android 関連の情報をまとめてくれているサイト
-
Android Developers Blog
- Android だけでなく Google Play の更新情報も掲載される
-
公式 YouTube チャンネル
- Google I/O や Dev Summit のセッション動画や、Tips の動画もアップロードされているので、チャンネル登録しておきましょう
- Google I/O、Android Dev Summit
- セッションの中で新しい OS バージョンの話や開発環境の話、ライブラリに今後実装予定の話、初心者向けの話もあったりするので、このイベントの内容はキャッチアップしましょう
-
DroidKaigi
- 日本で行われる Android アプリ開発の大型カンファレンス
- Android アプリ開発に関係するセッションを見たり情報共有の場となっている
- YouTube チャンネルにセッションのアーカイブがあり、現在でも役に立つ知見がたくさんあるので見ることをおすすめ
- 日本で行われる Android アプリ開発の大型カンファレンス
よく使われるライブラリ
-
material-components-android
- AndroidView で使用する Material Design のライブラリで Jetpack ではなく別のライブラリとして開発されている
-
Dagger/Hilt
- ドキュメントはこちら
- Android 開発で公式ドキュメントにも記載されていて、よく利用される DI ライブラリ
- ドキュメントはこちら
-
Accompanist
- Jetpack Compose で使う便利なライブラリ集
-
ConstraintLayout
- Android View や Jetpack Compose で制約によるレイアウトをする場合に使用するライブラリ
- ConstraintLayout のライブラリの中には MotionLayout という簡単にアニメーションを実装できる仕組みも含まれている
よく参考にされる OSS プロジェクト
-
android/compose-sample
- Jetpack Compose のサンプルアプリ集
-
android/architecture-components-samples
- Jetpack のライブラリのサンプルコードが集まったプロジェクト
-
android/sunflower
- Jetpack のライブラリを使用したサンプルアプリ
-
android/user-interface-samples
- Widget や Drag and Drop などの UI 周りのサンプルコードが集まったプロジェクト
-
android/animation-samples
- アニメーション周りのサンプルコードが集まったプロジェクト
-
DroidKaigi/conference-app-2021
- DroidKaigi のアプリ
- Jetpack Compose とか KMM とか最近のアプリ開発で使われるものを積極的に取り入れて開発されている
- 初めての OSS への contribute としてこのプロジェクトに PR を出してみるのはおすすめ
- Jetpack Compose とか KMM とか最近のアプリ開発で使われるものを積極的に取り入れて開発されている
- DroidKaigi のアプリ
-
google/iosched
- Google I/O のアプリ
- 2021 年は Google I/O 自体がオンライン開催ということもありアプリの公開はなかったが、LargeScreen 対応が入るなどコードは更新されている
- Google I/O のアプリ
学習チュートリアル
- Android アプリ開発の勉強をするにあたり公式から Codelabs というものが用意されており、初心者向けのものから新しい技術を学ぶものまで様々な項目がある
- Codelabs には数多くの項目がありどこから始めればいいかわからないということもあり、初心者用に Training のページが用意されている
初心者向け
-
Android Basics in Kotlin
- Kotlin を用いた Android アプリ開発の基本コース
- プロジェクトの作成、レイアウト、Navigation、Retrofit、coroutines、Room、WorkManager など Android アプリ開発に必要な知識が一通り得ることができる
-
kotlin-bootcamp
- Kotlin の言語機能をメインに勉強するコース
-
pathways/coroutines
- Kotlin coroutines の基本的なことから Jetpack のライブラリとの連携を一通り勉強するコース
- Kotlin coroutines の深いところまでは触れられていないので、これと合わせて Kotlin から出ているチュートリアルも見てみることをおすすめ
- Kotlin coroutines の基本的なことから Jetpack のライブラリとの連携を一通り勉強するコース
ワンランク上を目指す
-
pathways/compose
- Jetpack Compose を用いた開発を一通り学べるコース
- これを一通りすると Jetpack Compose 開発に必要な知識がおおよそ身につくが、結構ボリュームがある
- Jetpack Compose を用いた開発を一通り学べるコース
-
pathways/android-architecture
- Android アプリ開発のアーキテクチャガイドが 2021/12/15 に更新され、そのアーキテクチャを学ぶことができるコース