![見出し画像](https://assets.st-note.com/production/uploads/images/35749533/rectangle_large_type_2_76eba526539307431ebe458dcf4492ec.jpg?width=1200)
Androidアプリ開発の学び方(2020年版)
NTTレゾナントテクノロジー アジャイルデザイン部の西添です。今年4月からAndroidアプリエンジニアをやっています。もともとAndroidアプリ開発は2012〜2013年頃に経験がありましたが、開発環境が当時とは随分と変わっており、再学習が必要でした。この記事では、6年間のブランクを埋めるために私がどのように勉強していったのかをご紹介します。
Step 1. Kotlin入門
かつてはJavaでAndroidアプリを開発していましたが、今はKotlinの方が主流でしょうか。Androidアプリ開発に入る前に、まずはKotlinの基本文法を学習しました。日本語で体系的に学びたかったので、次の書籍を使用しました。
速習 Kotlin: Javaより簡単!新Android開発言語を今すぐマスター 速習シリーズ
Step 2. Androidアプリ開発再入門
6年前と比較して最もギャップが大きかったのはIDE(統合開発環境)です。今はEclipseではなくAndroid Studioが定番です。ソフトウェアの操作方法は動画を見たほうがわかりやすいので、ドットインストールのAndroidアプリ開発入門の動画を見ました。
Androidアプリ開発入門 (全11回) - プログラミングならドットインストール
そして6年の間に忘却してしまったAndroidアプリ開発の基礎知識を思い出すために、最新のAndroidアプリ開発の入門書を読みました。この本でConstraintLayout、マテリアルデザイン、RecyclerViewといった新しくてよく使われているトピックも素早くキャッチアップできました。
基礎&応用力をしっかり育成!Androidアプリ開発の教科書 Kotlin対応 なんちゃって開発者にならないための実践ハンズオン
Step 3. 個別トピックのキャッチアップ
Androidフレームワークは常に進化し続けており、この6年の間にもRecyclerView、Toolbar、DataBinding、ConstraintLayout、Kotlin、AAC (Android Architecture Components)、Jetpack、Kotlin Coroutine、Scoped Storageなどなど、開発者が学ぶべきトピックがたくさん登場しました。それらのトピックを必要になった際に都度学習していきました。ここでは学習に使用した情報源を紹介します。
情報源1. Android Developers
まず参照すべき一次情報です。特にDeveloper GuideとAPI Referenceは頻繁に参照します。また、Androidアプリ開発を広く浅く習得するのにTraining Coursesが役立ちます。
情報源2. Android DevelopersのYoutubeチャンネル
新機能が登場した際にまず見るべき一次情報です。
情報源3. TechBoosterの技術書
技術サークルTechBoosterが発行している技術書では、Androidの新機能や開発者が気になるトピックが日本語で丁寧に解説されており、各トピックの理解を深めるのに最適です。私はゴールデンウィークに半額セールしていた時にまとめ買いしました。合計1万円強しましたが、ConstraintLayout、Kotlin Coroutine、Scoped Storageなどの情報を吸収するのに大変役立ったので、いい買い物だったと思います。
情報源4. DroidKaigi
DroidKaigiはAndroid開発者有志が開催するAndroidカンファレンスです。過去のセッションの録画が公開されています。ディープな話題が並んでいて見飽きません。特に役立ったセッションを2つ挙げておきます。
Step 4. テスト入門
担当しているプロジェクトではユニットテスト(UT)を作成しています。Androidに限らずどの言語でも役立つユニットテストそのものの基礎知識と、Android特有のユニットテストの書き方(Robolectricなど)を次の書籍で学習しました。
Step 5. Androidアプリ設計入門
アプリをチームで継続して開発しやすくしたり、ユニットテストを書きやすいコードにしたりするには、MVPやMVVMといった設計パターンの力が必要になります。次の書籍でMVPとMVVMの基本と、各パターンをAndroidアプリでどのように実装するのかを学びました。
出版から2年半が経過しており、内容が古くなっている部分もありますが、基礎を理解するのには最適でした。
その後はGoogleが公開しているショーケースアプリAndroid Architecture Blueprintsを参考に勉強中です。
最後に
私がAndroidアプリ開発の6年間のブランクを埋めるために学習したことを、ステップごとにご紹介しました。これからAndroidアプリ開発を始めたい方、ブランクを克服したい方の参考になれば幸いです。
また、NTTレゾナントテクノロジーでは一緒に働いてくれるモバイルアプリエンジニアを募集中です。もし興味がありましたら採用ページをご覧ください。