#81 2019-08-18
KotlinでDIを自前で行う, Androidにおけるアクセシビリティ向上の取り組み, Google I/O 2019アプリのコードが公開, Kotlin 1.3.50-EAP3, WorkManager 2.2.0
Android/iOSでコードを共有する共有する際の隠れた(?)コスト
GitHubで見るhttps://blogs.dropbox.com/tech/2019/08/the-not-so-hidden-cost-of-sharing-code-between-ios-and-android/
https://www.reddit.com/r/androiddev/comments/cqa9fn/the_not_so_hidden_cost_of_sharing_code_between/Dropboxは長いこと(2013年から)C++を利用してAndroid/iOS間でコードを共有してきました。しかし、近頃この方針を撤回して各プラットフォーム固有の言語(KotlinやSwift)を利用した開発に切り替えたそうです。
このブログでは、標準的でない方法で開発をする際にどういったコストが発生するのか、またどうしてコード共有をやめることにしたのか、Dropboxの事例を紹介してくれています。
AndroidX 8/15のリリース
GitHubで見るhttps://developer.android.com/jetpack/androidx/versions/all-channel#august_15_2019
とうとうWorkManager 2.2からRCが取れたようです
Androidにおけるアクセシビリティ向上の取り組み
GitHubで見るhttps://android-developers.googleblog.com/2019/08/improving-accessibility-in-android_56.html
Pre-launchレポートでアクセシビリティについてのサジェストを行ったり教育用コースも用意されているようです。
KotlinでDIを自前で行う
https://speakerdeck.com/handstandsam/android-summit-2019-diy-dependency-injection-with-kotlin
SDKを作成するためにサードパーティのライブラリを使わずに自前でDIを行った話です。Kotlinのデフォルトパラメータと
by lazy
をつかうことで、自前でApplicationクラスでネットワークグラフを作成しておき、それを各Activity/Fragmentで使っています。GitHubで見る-
https://github.com/handstandsam/ShoppingApp/ に参照実装がありますが、NetworkGraphの切り替えのあたりはちょっと苦しそうだなという気もします。
-
Roomのpre-populate機能の紹介
Room 2.2からpre-populate機能が使えるようになり、あらかじめ必要なデータをassetもしくはローカルファイルに置いておくと、初期化時にその内容をロードできるそうです。
GitHubで見る-
記事の後半にマイグレーションとの関係が載っていますが、なかなか複雑そうでした。
-
Google I/O 2019 for Androidのソースコードが公開
GitHubで見るhttps://android-developers.googleblog.com/2019/08/google-releases-source-code-for-google.html
以前と比べてどのような改善があったか、詳しく述べられていて参考になります
Kotlin Coroutines 1.3.0-RC2
GitHubで見るhttps://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.3.0-rc2
引き続きFlowの改善が行われています
Flutterチームが開発者向けにアンケートを実施中
GitHubで見るhttps://google.qualtrics.com/jfe/form/SV_3kiGXYfYOfXUjB3?Source=Reddit
https://www.reddit.com/r/FlutterDev/comments/cpfwnt/help_improve_flutter_take_our_quarterly_survey/四半期に一回のFlutter開発者アンケートです
Android Studio 3.6 Canary 6
https://androidstudio.googleblog.com/2019/08/android-studio-36-canary-6-available.html
https://www.reddit.com/r/androiddev/comments/cpwq7p/android_studio_36_canary_6_available/GitHubで見る-
redditによると、使えなくもない状態のViewBindingが含まれた最初のリリースだそうです。
ただ、まだ外部のユーザに試してもらう準備が整っていないので言及がないのだとか。
https://www.reddit.com/r/androiddev/comments/cpwq7p/android_studio_36_canary_6_available/ewsfeux/
-
Now in Android Episode 2
GitHubで見るhttps://medium.com/androiddevelopers/now-in-android-episode-2-b17fc5630fea
ちゃんとシリーズ化されたようです :-p Android Q Beta 6の話やAndroidXのとくにAdsライブラリについて触れられています。
KotlinConf 2019の発表内容が公開
https://kotlinconf.com/speakers/
今年のKotlin Confのスピーカーと発表内容が公開されました(スピーカーをクリックすると発表内容が見れます)
GitHubで見る-
個人的にいちばん気になっているのはErik Meijerです。発表内容が TBD ですが……。
-
Kotlinファーストの画像ロードライブラリ
https://tech.instacart.com/introducing-coil-kotlin-first-image-loading-on-android-f0fdc7a2a99e
Kotlinファーストでcoroutineなどもサポートしている画像ライブラリのようです
GitHubで見る-
Instacartという会社で使われており、作者もInstacartに勤めているようですが、会社が主体となってメンテしていくのかどうかは分かりません。
-
InstacartというとFragmented Podcastのホストの一人が勤めている会社だなと思っていたのですが、Fragmentedの新エピソードも併せて出たようです
https://fragmentedpodcast.com/episodes/171/
-
今だったらこういうコード共有の選択肢はKotlin Multiplatform Projectがありますが、これを採用したサービスが5年後その決断をどう評価するのか気になります。