購入してからだいぶ経ってしまいましたが、積読を消化し始めていて、せっかくなので感想を書いてみます。
Dagger2、なんか書いてると毎回ハマれるライブラリの一つかなあと思ってるところ、夏の技術書典付近でBoothにも出品されていたので購入。技術書典は確かスマブラのオフ会と被って回避した記憶。
本の内容書いてしまうとあれなのでざっくり感想を。
DependencyInjectionとは
Dependency Injectionとはどんなものか、よく翻訳されて「依存性の注入」って言ってるけど、日本語でおk。って人が見ると簡潔に解説してくれています。DIのパターンやら利点、欠点の紹介と感覚で使ってた自分にはありがたい解説が1章目。
Dagger2ってどんなかんじ?
Dagger2とは、からDaggerではこの言葉はこういう意味で使われてますみたいな用語集や、よく書く ModuleやComponent、injectなどをざっくり解説してくれています。また、Androidで開発を始めるための設定方法を一から記載されています。
3章〜8章はDaggerの基本的な機能の解説でした。
Componentの機能解説、使い方、dependency、Moduleの機能解説、使い方。ここまではよく書くので詳しい人も多いと思いますが、6〜8章はあんまり僕は馴染みがなかったです。Android Architecture Componentsでこういうの出てきたなあ・・・。っていうのを感覚で使ってしまっていたので解説があってとても良かったです。
10章~12章はAACのViewModelとDagger連携の解説とても良い!
10~12章はAndroid Architecture ComponentsのViewModelをDaggerに任せる方法の紹介。
これ、Android Architecture ComponentsのGitHubに上がっているサンプルの中のGithubBrowserSampleのコード解説として読むのにとても良い内容でした。個人的にこのサンプルプロジェクトの初見殺し感が強かったのでここ読むだけでも買う価値あったなあと思いました。
13章からのAndroudSupportの話も良かったです。AndroidでDaggerを使うときの問題点やActivityやFragmentへのInjectの話。そういえばいつの間にか置き変わっていたHasAndroidInjectorが出てきていたりです。
最後に
Daggerって改めて学習コスト高いなと思ってしまった。アノテーションをつけてコードを自動生成するだけにハマった時にまじでハマれる。
ただ、この本を読んでDaggerやっぱり良いなと思ったらDaggerを使う、難しい、学習コスト高いと思ったら別のライブラリを検討したり、複雑じゃないければ自前で用意するのも良さそうかなと思いました。ライブラリの検討材料にもなるし、AACのサンプルでポカーンとしてしまった人はコード解説に購入検討しても良いのではないかと思いました。
■Master of Dagger