この記事は第二のドワンゴ Advent Calendar 2019の5日目の記事です。
ドワンゴではN予備校Androidアプリを開発しているのですが、その中で実装で困ったときに参照している資料や、新しい技術についていくための情報収集などをまとめたいと思います。
Androidを開発する上で参考にしているもの
公式アプリのソースコード
Androidの有名なカンファレンスとしてAndroid Dev SummitやDroidKaigiなどがありますが、そのイベントで作成されているAndroidアプリのコードがとても参考になります。
Android Dev Summitアプリのソースコード
GitHub google/iosched
DroidKaigiアプリのソースコード
GitHub DroidKaigi/conference-app-2019
Android Dev Summitは世界で最も大きなAndroid開発者のイベントですし、DroidKaigiも国内最大級のイベントなので、そこで使用されるAndroidアプリはとても素晴らしいものであるはず!と信じています。
(実際にコミット数も多く、コミッターにも著名な方が多いですし。)
使用しているライブラリやその使い方などを参考にしたり、実装で困ったらコード検索をして拝借したりしています。
ちなみに最近だと、xmlのImageViewのcontentDescriptionで何を指定するか悩んで調べたら、@null
で逃げられることがわかったの良かったです。
<ImageView
android:id="@+id/reserved_icon"
android:contentDescription="@null"
Google Codelabs
全くの新しい技術を触るときには、Google Codelabにあるコースを実際にやってみて、その使い方や利用背景を学んでいます。
Androidに関連するあらゆる要素についてのコースが用意されていて、内容は英語ですが説明が丁寧で情報も最新に即しているので、教材としてはとても素晴らしいです。
具体的には、以下のようなコースが用意されています。
KotlinでAndroidアプリを作る入門コース
Android StudioでAndroidのアプリを立ち上げるところから、Layoutの組み方、Navigationによる画面遷移、ViewModelによるデータの取り扱い、Room DBにデータを格納する方法など、その内容はAndroidの基本を網羅しています。
Android Kotlin Fundamentals Course
Androidの応用的な内容を扱うコース
Androidアプリにおける通知やアニメーションの実装、地図の扱い、テストを書く、ログインを実装するなど、応用的な内容を学習します。
ここまで完璧にできていれば、Android開発者として就職には困らなさそう。
Advanced Android in Kotlin
Jetpack Composeを一足先に体験するコース
おそらく来年にはリリースされるであろうJetpack Composeの基本を学ぶことができます。
AndroidにおけるViewの作成が一気に変わっていきそうです。
Jetpack Compose Basics
その他多数
Using Dagger in your Android app
Android Data Binding
Jetpack Navigation
Using Kotlin Coroutines in your Android App
Taking Advantage of Kotlin
RxMarbles
N予備校Androidアプリでは、非同期処理にRxJavaを使用しており、そのイメージのためにRxMarblesをよく参照しています。
ReactiveXのドキュメントにも説明は色々と書かれているのですが、RxMarblesのほうが自分でMarbleを動かせて直感的にわかりやすいので、困ったときには参照しています。
Androidテスト全書
Androidの技術も変化が激しいのでなかなか書籍での学習は難しく感じるのですが、Androidテスト全書は断片的に散らばっているテストの知見を体系的にまとめてくれていたので、とても参考になりました。
単体テスト、統合テスト、UIテストそれぞれの実行のやり方や、テストライブラリの選定基準、CIへの組み込みと運用まで書かれていて、開発の参考にさせていただきました。
また、Android テスト全書が書かれたPEAKSには、他にもクラウドファウンディングで需要が認められた書籍が何冊かあるので、Androidに関連が高いものについては参照していこうかなと思います。
Android Dagashi
本来は、色々なメディアの記事を見るべきかと思いますが、重要な情報はAndroid Dagashiに流れてくるので、そこでリリース情報や技術トレンドなどを見ています。
Kotlinのリリース内容や、Android Jetpackまわりのアップデート内容、Deprecatedになるライブラリ情報や今後のAndroidに関する記事などが紹介されているので、とりあえずここを追えていれば問題ないと思います。
また新しいものが増えたら、随時更新していきます。