#16-20180513-20180519
LiveDataにStream API的なオペレータを追加する
GitHubで見るhttps://medium.com/@henrytao/chaining-livedata-like-rxjava-with-kotlin-extension-e3a2c15ac11
こんな感じ。
val liveData: MutableLiveData<Boolean> = MutableLiveData() liveData .distinct() .filter { it == false } .map { true } .nonNull() .observe(lifecycleOwner, { result -> // result is non-null and always true })
拡張関数と
MediatorLiveData
で実現しているようですDagger 2 は複雑すぎるという主張とそれに対する擁護および反論
GitHubで見るWhatever philosophical or technical issues Dagger 2 was created to address, it did so at the cost of the things that made Guice / Dagger 1 so easy to understand and use. The amount of time I spend munging with Dagger 2 configuration is 10x what I spent with Guice / D1.
— Rob Dickerson (@rcdickerson) May 17, 2018ちょっと長いですが、flavour ごとに component を切り替える話に始まって、それぞれの主張が入り混じっておもしろいです。ちなみに、RobもJakeもPyもRayもSquareで働いていたようです(時期が重なっているか分かりませんが)。
KotlinでService Locatorパターンをするスニペット
GitHubで見るhttps://www.reddit.com/r/androiddev/comments/8k6bal/gist_the_poor_mans_dagger_example_how_to/
一般に Service Locator はそれほどよくないとされているようですが、ご参考までに。
ところで、reified type を使うと、型チェックやクラス型のオブジェクトを渡したり、といったことがなくなるのはいいですね。
Androidのホーム画面とナビゲーションUIの変遷
GitHubで見るhttps://medium.com/google-design/evolution-of-android-homescreen-and-navigation-bad189d536f2
開発からはちょっと外れますが、こうして見てみるとかなり変わっていますね
targetSdkVersionを26以上にするときに考慮すること
GitHubで見るhttp://y-anz-m.blogspot.jp/2018/05/io-recap-migrate-your-existing-app-to.html
新規アプリだったら2018年8月以降のリリースで、既存アプリは2018年11月以降のアップデートで
targetSdkVersion >= 26
が求められます。いろいろやることがあるので頑張りましょう 💪
Moshi v1.6.0はKotlinのコードを生成する
GitHubで見るhttps://medium.com/@sweers/exploring-moshis-kotlin-code-gen-dec09d72de5e
"Kotlinから使いやすいJavaコード"ではなく、"Kotlinで書かれたコード"を生成するようです。
このお陰でリフレクションを利用せずよくなり、サイズが大きいことで有名な(2.8MBくらい?)kotlin-reflect
を使う必要がなくなりました。今までMoshiのKotlinサポートにはジェネリクス周りで不具合があり、KotshiというJsonAdapter生成ライブラリが使われていましたが、これでMoshi単体で使えるようになりそうです。
Kotlinのコード生成にはKotlinPoetというライブラリを使っています。
Kotlinのコードを生成するアノテーションプロセッサも今後増えていきそうですね 😇Chicago Robot 2018 のセッション動画が公開されたようです
GitHubで見るhttps://chicagoroboto.com/session-videos/
まだすべては出揃っていませんが、じきに揃うと思います。Jake の Picasso のセッションが楽しみ。
CookpadがminSdkVersionを21に
http://techlife.cookpad.com/entry/2018-05-15-android-minsdkversion-21
こういう大きめのところも上げてくれると説得しやすい感ありますね。
GitHubで見る-
minSdkVersion の決め方も詳しく載っていていいですね。ぼくも 21 にしたいです。
-
JakeがFlutter(Flutterとは言っていない)が I/O で大きく取り上げられたことに疑義を呈しているようです
Another I/O with tons of questions to the Android framework and UI toolkit teams about building apps with an "alternative" framework. (1/7)
— Jake Wharton (@JakeWharton) May 14, 2018明言はしていませんが Skia と言っているし Flutter に見えます。感情的な強い反発に対して「いつ Flutter と言った?やり直し」と返しているところは、さすがだなと思いましたw
https://twitter.com/JakeWharton/status/996356491190980608個人的には、自分も Web を進化させる方が筋が良いと思っていますが、どうでしょうね。クロスプラットフォームとホットリロードへの強い要求はよく分かります。
GitHubで見る-
「AndroidとChromeの話だけど?」って言ってる箇所もあったりして、なかなか釣り上手ですねw
Who mentioned Flutter? I'm talking about Android and Chrome.
— Jake Wharton (@JakeWharton) 2018年5月14日
-
ちなみにMoshiはJake氏のペットのフレンチブルドッグの名前