こんにちは!Sansan事業部 プロダクト開発部のふるしんです。
私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。
先日、クラスメソッド社の浜田さんより、執筆された本を献本いただきました!
とっても嬉しかったのでレビュー記事を書きます!
どんな本?
全体的に「超初心者向け」ではありますが、少なからずプログラミングの知識がある方を対象にしているようです。
浜田さんの言葉をお借りすると
「情報系の大学などでプログラミングの授業は受けたことことがあるけど、Androidは触ったことがない」くらいが想定している読者
だそうですので、少しは学んだことがある方だと読みやすいかなと思います。
個人的には、以前レビュー記事を書いたNkznさんの本の次に読むのが丁度いいレベル感だと感じました。
大学の専攻は文系だけどエンジニアになりたい!
というような方は、Nkzn本 → 浜田本 の順番で読まれたらよいかと思います。
第1章
Androidアプリ開発には欠かせない、Android Studioの環境構築です。
Mac用、Windows用の両方を解説されているのでスムーズに進められるかと思います。
第2章
Androidアプリ開発におけるプログラミング言語「Kotlin」の基本的なことを解説しています。
Kotlinの特徴であるMutableとImmutable、Collection APIについて解説されているので、実際にアプリ開発を始めてすぐに活用できる技術を得られます。
数年前のAndroid系の技術記事だとJavaが基本となります。
しかし最近はGoogleがAndroidアプリ開発におけるメイン言語をKotlinとしたことから、この本ではKotlinに関して解説されているようです。
Nkzn本でJavaを学び、この本でKotlinを学ぶことで、JavaとKotlinの違いも学ぶことができるのではないでしょうか。
この章では近年Androidアプリ開発で波が来ているCoroutineにも触れており、さらにFlowも解説されています。
Coroutineに触れているAndroid本は多くはない印象ですが、さらにFlowとなるとほぼ無いのではないでしょうか。
これらを学ぶためだけにこの本を購入する価値はあるのかもしれません。
第3章
この章から実際にアプリの開発に入っています。
なななんと
- 画面遷移はIntentではなくJetpackのNavigation
- 画面設計はConstraintLayoutをXMLでゴリゴリイジる
- DataBindingを使う(けどfindViewByIdも解説してる)
という、初心者向けには少しハイレベルなスタートです。
「こ、これが次の世代のAndroidエンジニアなのか…!」と感動しました。
超初心者って方は、3章に入る前にまずはNkzn本を読んで肩慣らししてからがいいかなと思います。
第4章
この章もなかなか衝撃的でした。
私が驚いたのは以下のものです。
- Intentが無くて画面遷移は全部FragmentでNavigation
- めっちゃConstraintLayoutをXMLからいじってる
- Kotlin Flow使ってる
- ログはTimber
- 通信はRetrofit + Moshi
もし「既存のアプリを改善するチームに配属された新人」や「これからアプリを作ってみようとググってる人」には少しハイレベルな内容かなと感じました。
ですが今後は上記で述べたもののほとんどがデファクトスタンダードになっていく可能性も非常に高いですし、最初のうちにNEXT GENERATIONを学んでおくのも素敵だなと思います。
Androidの画面遷移は、Androidが生まれてから10年近くずっとActivity間のIntentを用いるのが通例でした。 2018年のGoogle I/Oで発表されたJetpackでNavigationが導入されたので、非常に大きな変化が近年起こってるなぁと感じます。
これがNEXT GENERATION… とAndroid老人会おじさんは感動しております。
第5章
AndroidにおけるUnit Testは、これだけで本が1冊書けてしまうくらいのものなので、この本では「大丈夫!怖くないよ!」と言ってくれてるように感じます。
この本でテストにサラッと触れたあとで、私も査読に参加した「Androidテスト全書」を読むのがいいなと思いました。
そしてこの本では、CI/CDはGithub Actionsを活用しています。
これまでの多くの本では、CI/CDにJenkinsやBitrise、Circle CIを参考に出しているものが多かったです。
ですが最近Githubから出てきてCI/CDにも活用できるGithub Actionsにて解説されているのは、ここにもNEXT GENERATIONを感じました。
まとめ
この本は「めちゃくちゃ初心者です!」という方には少しハイレベルかなぁと感じました。
「めちゃくちゃ初心者です!」という方は、まずはNkzn本を読んでからこの本を読むと、とってもよいかなと思いました!
ただ「こ、これが…NEXT GENERATION…つよい…第三世代やん…」と感動しました。
炎炎ノ消防隊を見すぎましたスミマセン
SansanアプリでもNavigationやCoroutine、RetrofitやDataBindingを使っているので、Sansanアプリチーム観点だととっても参考になる本でした!
最後に
Sansanではメンバー皆がいろんなイベントに参加したりイベントを立てたりしています。
私は昨年Google IO 2019に参加し、献本くださった浜田さんと出会いました。
この記事を読んでくださった皆様ともどこかでお会いできたら嬉しいです!