Android Jetpackをマスターするために読むべき本
Googleが2017年に方針転換してAndroidの推奨設計開発方針と言うものを出した。現在仕事で開発をやっている人はJetpackの一部であるViewModelだのLiveDataだのと言ったものを使っているかも知れない。
ただ現場はどこでも大抵多忙で、Jetpackの全体像を掴むといっても本家Googleのページは情報の羅列で、全部追っていたら日が暮れる。
Android Studio 4.1 Deveopment Essentials
よくまとまった本としてお勧めできるのがAndroid Studio 4.1 Deveopment Essentials (eBookFrenzy)である。
Amazonで印刷されたものを買うと日本で印刷されたものが届いた。電子版は4.0の版からPDFの印刷ができないようになったのでAmazonで買うのが良いかもしれない。800ページもある電子書籍に一々付箋を付けるのは面倒だし、辞書的に使うことを考えると紙媒体の方がお勧めだ。
この本の39章から48章がJetpackに集中した章である。下のようになっているが、これを見れば分かるようにJetpackそのものがアプリの構造そのものと密接に関係している。
だから既存のアプリを改造してJetpack対応にしようというのはよほど小さなアプリでなければお勧めできない。実際Googleも推奨アーキテクチャを強制はしていない。
- Modern Android App Architecture with Jetpack
- An Android Jetpack ViewModel Tutorial
- An Android Jetpack LiveData Tutorial
- An Overview of Android Jetpack Data Binding
- An Android Jetpack Data Binding Tutorial
- An Android ViewModel Saved State Tutorial
- Working with Android Lifecycle Aware Components
- An Android Jetpack Lifecycle Awareness Tutorial
- An Overview of the Navigation Architecture Component
- An Android Jetpack Navigation Component Tutorial
Elements of Android Jetpack
こちらはThe Busy Coder’s Guide to Android Developmentで有名なCommonsWareからでている。
こちらはステップバイステップでJetpackを利用したアプリ開発を解説している。こちらも800ページを超える大著だ。頻繁にアップデートされるが20ドルでこの本を含めた全ての本が1年間ダウンロードできる。
最新の状況に対応していくので、開発者ならサブスクリプションした方が良いと思う。
例えば、ViewModelを利用する場合、ViewModelProviders.of()を使う方法が知られているが、それは廃止予定になっているなどと言った最新情報が書かれている。
これらの本にざっと目を通して感じたこと
私自身、新しい方のNexus 7がでた2013年ころにAndroidの開発を始めた。Androidの開発で一番大変というか、ここが分からないとダメだと感じたのがLifecyclle周りだ。
Jetpackの導入でAndroidの開発はその辺りを含めて大きく変わってしまったと感じている。現在、多くのデベロッパーがAndroidの開発を行っていると思うが、多くはJetpack以前に設計されたもののメンテが主たる業務ではないだろうか?
前節の例で書いたようにJetpackのViewModel周りでさえ既に一部は廃止予定軌道に入っている。既存の大きなアプリを改造してJetpack対応にしようとするとどの要素が今後も生きるのかを調査しながら進めなければいけない。開発期間が長いからである。
プロダクションのアプリを作成するならこれらのある程度まとまった最新の書籍をスタディしつつやらないと、更なるメンテ工数が必要になるだろう。