#20-20180610-20180616

大きなニュースはKotlin 1.2.50のリリースくらいでしょうか

loading share widgets...

Kotlinのvalプロパティのgetter

メソッドにするかプロパティにするかという話も合わせて興味深い議論です。

Comments

なお、個人的にはread onlyなプロパティに見せかける利点はほぼない気がするのですが、どうなのでしょうか。

私は基本メソッドで書いてしまいますね…
あとはふじたくさんの挙げているリンク参考にしています

Kotlin 1.2.50リリース

https://blog.jetbrains.com/kotlin/2018/06/kotlin-1-2-50-is-out/

Android関連で大きそうなのは下記の通りです。

  • マルチモジュールプロジェクトでのインクリメンタルビルドのパフォーマンス向上
  • kaptのパフォーマンス向上
  • gradle.propertieskapt.use.worker.api=trueを書くと、kaptをGradleのワーカーで動かしてくれる
    • 要Gradle 4.3以降
    • 1.2.60からデフォルトで有効にする予定

また、コンパイラにProgressiveモードが追加されました。
これは本来メジャーバージョンでしかリリースされない、後方互換性のない修正や改善をマイナーリリースでも有効にするためのものです。
基本的に、Kotlinのバージョンアップにキャッチアップしているアクティブな開発者向け機能なようです。
ProgressiveモードはKotlinコンパイラの引数に-Xprogressiveを追加することでモジュール毎に有効にされます。
本来メジャーバージョンアップで追加されるはずの変更が適用されるので、もちろん既存コードがエラーになることもあります。

Comments

ちなみに、現状マルチモジュールなプロジェクトでkapt.use.worker.api=true記述すると下記リンクのエラーでビルドできません。(シングルモジュールなプロジェクトに関しては未検証)

https://youtrack.jetbrains.net/issue/KT-24919

AGP3.2系でDataBinding使っていると下記のエラーも発生しています
https://youtrack.jetbrains.net/issue/KT-24915

今確認したら kapt.use.worker.api に関する記述消えてますね 🤔

なおDataBindingでのエラーは下記対応で回避できそうです
https://github.com/googlesamples/android-sunflower/pull/52

non-SDK APIにアクセスしたときの挙動

https://android-developers.googleblog.com/2018/06/an-update-on-non-sdk-restrictions-in.html

以前から告知されていたことですが、Pからはnon-SDKのAPI(つまり @hidden なAPI)にアクセスできなくなります。グレイリストに入っているものについては使えますが警告がログに出るとのことです。

StrictModeであれば、ポリシーで違反時の挙動を変えられるのでテストのときに便利そうです。
https://commonsware.com/blog/2018/06/12/strictmode-api-greylist-monitoring.html

FacebookがAndroid/iOSで使えるデバッグツールSonarを発表

https://code.facebook.com/posts/1461914677288302/open-sourcing-sonar-a-new-extensible-debugging-tool/
https://fbsonar.com
https://github.com/facebook/Sonar

ざっくりいうとStethoの進化版です。
StethoはChromeのdev toolベースで開発していたため、Androidのデバッグツールとして利用するには制限があったとのこと。Sonarはスタンドアロンなアプリなのでこの制限がなく、たとえばadbを使ったりiOSのデバッグもできるようになったそうです。Stethoと同様にプラグインで拡張可能なので、いろいろできそうです。

Sonarのアプリ自体はElectron製で、プラグインのUIはReactで書くことができます。

Comments

Publickey でも取り上げられていたのでリンク置いておきます。
https://www.publickey1.jp/blog/18/iosandroidsonarfacebook.html

©2019 — Android Dagashi