#26-20180722-20180728
Android P Beta4、Kotlin 1.3-M1、WorkManager alpha3、Android Thingsが最高だった話、Dagger論争
WorkManager 1.0.0-alpha05
GitHubで見るhttps://developer.android.com/jetpack/docs/release-notes#july_24_2018
https://www.reddit.com/r/androiddev/comments/91jo57/workmanager_alpha05_is_here/WorkManager.getInstance()
がNonNullになったりとかAndroidXに移行するために
GitHubで見るhttps://speakerdeck.com/syarihu/androidxniyi-xing-surutameni
実際にマネーフォワードで移行しようとして挫折した話です。依存ライブラリの対応が必要なのはなかなか大変ですね……。
Kotlin 1.3-M1
GitHubで見るhttps://blog.jetbrains.com/kotlin/2018/07/see-whats-coming-in-kotlin-1-3-m1
まだM1なので、今後も変更があるかもしれませんが、新しい機能を試せるようになりました。個人的には、
inline classes
とSuccessOrFailure
が一番アツい気がしています。Dagger 論争
http://fragmentedpodcast.com/episodes/133/
https://speakerdeck.com/dpreussler/to-inject-or-not-inject-dependency-injection-in-a-kotlin-world-appbuilders-dot-ch-2018Fragmentedのep. 133が発端になって、KoinはDIかどうか、あるいは、Dagger 2複雑すぎじゃね、という話が一部で話題のようです。
So we're complaining about the pass-things-into-constructors pattern and pass-things-into-constructor pattern helper libraries this week?
— Jake Wharton (@JakeWharton) July 25, 2018
Great.Just that most apps are trivial and might not need non-trivial solutions. Developers love to complicate things. Pick the right library for the job (if you even need a library), Dagger is one out of many. Often needed, often not.
— Danny Preussler (@PreusslerBerlin) July 25, 2018GitHubで見るDannyの「適切なライブラリを選ぶべき」という主張は分かりますが、自分は依存関係を自動で解決してくれないDIライブラリにどれくらい価値があるのかはやや疑問に思っています。また Danny のスライドはこれだけ見るとちょっと Jake を挑発しすぎで逆鱗に触れてしまったような気もします :sweat_smile:
Android P Beta 4リリース
https://android-developers.googleblog.com/2018/07/final-preview-update-official-android-p.html
これが最後のPreview版のようです。
正式版のリリースが近づいてきました!GitHubで見るhttps://developer.android.com/preview/behavior-changes?hl=ja
Pでの動作変更点はこちらにまとまっていますいちユーザとしてはShush機能を心待ちにしているのですが、ぜんぜん来なくて悲しいです :cry:
Twitter APIを利用する際にレビューが必要になったようです
Androidと直接的には関係ありませんが、どうやら開発者アカウントを申請し、使用するアプリの目的などを明記しないといけなくなったようです。AndroidのサンプルでTwitterアプリを作るのは定番だったのですが、すこしやりにくくなりますね……。
GitHubで見る日本語の記事も来てますね。
APIのレート制限も厳しくなるので、制限緩和申請の承認基準次第ですが、いろいろ厳しくなりそうです……
Android用Twitterライブラリ twitter4a
https://github.com/takke/twitter4a
twitter4jのAndroid向けフォークのようです。Twitterの公式SDKとの違いはちょっと分かりませんが、むかしからtwitter4jでやっていた人にはよさそうです。
GitHubで見るちょっとだけ補足しておきますね。
Twitter4A は Twitter4J の Android 向けのフォークですが、Android 向けという意味では(maven ではなく)gradle でビルドできるようにした程度です。
Twitter4J は 2016/12 の v4.0.6 から更新されておらず、最新のTwitterの機能にいち早く対応するためのフォークという位置づけになります。8/16 に予定されている新DM APIへの完全移行(現行のDM APIは廃止される)や、動画の投稿、140文字を超えるツイートのための機能などが必要な方のためにリリースしました。
ちなみにTwitterの公式SDKとは全く別物です。
@takke 補足ありがとうございます。てっきり、Android向けにOAuthのログインまわりが変わるのかなと思っていたのですが、より一般的な改善を目指しているのですね。ありがとうございました。
TimingLogger
GitHubで見るhttps://developer.android.com/reference/android/util/TimingLogger
パフォーマンス計測のログを仕込むのに便利なクラスです。不勉強にして初めて知りました……。API 1 から使えるのですね。
Leak Canary 1.6リリース
GitHubで見るhttps://medium.com/square-corner-blog/leakcanary-1-6-91fad513b5cf
地味に色々と改善されているようです。ヒープ取るところがかなり重くて固まることが多かったのですが、そこが改善されているなら嬉しいですね。
Kotlinのwhenの条件節でvalを使えるようにする提案
GitHubで見るhttps://github.com/Kotlin/KEEP/blob/val-in-when-subject/proposals/val-in-when-subject.md
issue では
if
でも同じことがしたいという提案がされています。androidxがAOSPに移行
https://www.reddit.com/r/androiddev/comments/91bqzq/androidx_development_moving_to_aosp/
androidxがAOSPに移行したそうです。これでパッチも送れるし変更も追跡できるようになるとのことです。
GitHubで見るKotlinのLintツールDetektでカスタムルールを作る
GitHubで見るhttps://medium.com/@vanniktech/writing-your-first-detekt-rule-ee940e56428d
KotlinのLintツールだと他にはktlintが有名です。
capturing when subject in a variable
も良さそうですねー