新年あけましておめでとうございます。
モバイルクライアントチームの若宮(id:D_R_1009)です。 お正月にようやくポケモンシールドのチャンピオンを倒しました。 本当に強かった……。
さて、昨年末にMAD Scoreが登場しました。
Are you a...
— Android Developers (@AndroidDev) December 15, 2020
🏃 Speed coder with @AndroidStudio
🤔 Expressive thinker with @Kotlin
🚀 Boilerplate reducer with #Jetpack
📦 Or an efficient packer with #AppBundles
See what kind of Android Developer you were in 2020 by getting your #MADscore card → https://t.co/7sy6li7dZ4 pic.twitter.com/MV8bTMA3s7
今回はMAD Scoreの紹介をしつつ、弊社Studyplus Androidアプリの計測結果をお見せしたいと思います。
MAD Scoreとは?
Modern Android Development から MAD を取っているようです。 Androidも世に出てから10年以上経っているので Modern を強調しているのかなと思います。
Android 11では、ついに AsyncTask
を非推奨にすると明言されました。
AndroidX Fragment 1.3.0からは onActivityCreated
や startActivityForResult/onActivityResult
が非推奨になっています。
いつの間にかKotlinは1.4系がリリースされ、1.4系の機能を利用したJetpack Composeはalpha版になりました。
Kotlin、Jetpack、Android Studio、Android App Bundle など、最新の Android 開発(MAD)は優れたアプリを構築するための基礎となります。
挙げられている4つの項目も、それぞれ10年前とは様変わりしています。 見比べてみると、確かに Modern なアプリ開発な気がしてきませんか?
- JavaからKotlin
- SupportライブラリからJetpack
- EclipseからAndroid Studio
- Android application package(apk)からAndroid App Bundle(aab)
次からStudyplus Androidアプリのスコアを見つつ、それぞれの項目がどう評価されるのかを見てみます。
Kotlin
Kotlinは、アプリを構成しているKotlinのパーセントが表示されます。 そのほか、Kotlinのバージョンや利用しているライブラリが掲載されていますね。
上記ブログのように2019年9月末に86%程度だったKotlin率は、2020年6月頭に99%となり、その後はKotlinのみ増減している状態になります。 1ファイルのみ、Paging 2のutilクラスをJavaで利用しているので、Paging 3のリリースと同時に100%となる見込みです。 リリースが待ち遠しい……!
そのほか、KTXやFlowの利用が表示されています。 FlowはRoomの他、Storeライブラリなどで利用しています。Cold Streamを手軽に扱えるのは、本当に重宝しますね。
Jetpack
Jetpackは、利用しているライブラリの数が表示されるようです。 思っていた以上に利用していてびっくりしました。
Studyplusアプリは開発しているエンジニアの数が(利用ユーザーに対して)少なめなこともあり、Jetpackライブラリを活用した開発を重視しています。 機能性が高い、安定したライブラリが提供されていることは、とても幸運なことだと思っています。 今後も活用できそうなライブラリがあれば、積極的に利用していきたいところです!
Android Studio
ちょっとコメントが難しいのですが、利用しているAndroid Studioのバージョンが表示されます。 現時点ではAndroid StudioとAGPのアップデートが一致してしまっているので、Android Studioを更新しにくい環境もあるかもしれません。
AGP 7.0からはAndroid Studioのバージョンと切り離されることになります。 そうするとこの問題も解決しますね。個人的にはR8のバージョンをいい感じにアップデートできるので嬉しいアップデートです。
android-developers.googleblog.com
なお、Android Studioのスコアを取得できるのは今だけ! (かも)
❄️🦊 If you’ve already integrated Android Studio Arctic Fox (2020.3.1) and Android Gradle plugin 7.0 your #MADscore is about to be off the charts.
— Android Developers (@AndroidDev) December 26, 2020
See how you kept up with the latest trends in Android this year → https://t.co/7sy6li7dZ4 pic.twitter.com/kFL6O0Cq6V
Android App Bundle
1TB と圧のある数字が出ていますが、aabにすることで100万人がDLしたときに削減される容量のようです。
ただGoogle Play Storeをみてみると、Studyplus Androidは 1,000,000+
のDLとのことなので、数年規模で見ると的外れな数字ではないような気もしてきます。
もともとのアプリサイズ、そしてNDKを利用しているかどうかでこの値は変動する気がするので、大小を一概に良い悪いとは言えない値だと思います。 ですが、日々のアプリサイズを小さくする試みの成果をわかりやすく見ることができるのは、気分も軽くなるのではないでしょうか。
まとめ
トータルの評価は G.O.A.T でした! 日々のAndroidチームの頑張りが評価されたようで、とても嬉しいです。
Android Studioにpluginを入れると数分で計測することができます。 ぜひ、計測してみてください!