LoginSignup
1
2

【Google I/O '24】Androidエンジニアの視点で記憶に残ったこと

Posted at

はじめに

本記事はGoogle I/O '24のセッションを見てAndroid エンジニアの視点で記憶に残ったことの個人的メモになります。

動画やリソースはすべてGoogle I/Oのサイトからアクセスできるので、詳細はこちらをご覧ください。

Gemini

アプリにGeminiによる機能を追加するセッションです。オンデバイスでの生成AIはモバイルエンジニアとしても気になるところです👀

またAndroid Studio に搭載された Gemini による開発支援のセッションがありました。

スクリーンショットからプロジェクトのコードを加味したUIのコードが丸ごと生成されるデモは衝撃的でした。マルチモーダルAIの威力を感じますね。

スクリーンショット 2024-05-24 9.34.52.png

Android 15のEdge-to-edgeとPredictive back

targetSdkVersionをVanilla Ice Cream(Android 15)にすると自動的にEdge-to-edgeが適用されるようになりました。Materail 3 Composeのように自動的にInsetsを処理してくれるコンポーネントを使用している場合は問題ないですが、おそらく多くのアプリでは画面崩れ(UIがシステムバーにはみ出して見た目が悪いだけでなく場合によってはボタンの操作などが行えなくなる)が起きるので対応が必要です。

対応前 対応後
image.png image.png

またAndroid 13より開発者オプションを有効にすることでお試しすることができたPredictive backですが、Android 15でようやくユーザーにもお披露目となるようです。アプリ→ホーム、Activity間、アプリ内の3パターンでPredictive backがサポートされます。関連してFragment 1.7.0Navigation Compose 2.8.0でPredictive backのサポートが追加されているのが確認できます。

Material 3 の Adaptive Layout

Material 3のAdaptive Layoutサポートがbeta01に到達しました。List-detailパターンやSupporting paneを簡単に実現できます。

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.0.0-beta01")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.0.0-beta01"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.0.0-beta01"
}

Material Design全体についての最新のアップデートのセッションもあります。

Jetpack Compose の Strong skipping mode

Composeのパフォーマンスの問題を解決するセッションの中でCompose Compiler 1.5.4から実験的に追加されたStrong skipping modeの紹介がありました。Strong skipping modeを有効にすることでUnstableなクラスの等価性の判定が変わり、またStableとみなせるクラスの設定をプロジェクト全体に適することもできるので不要なリコンポジションを手軽に防ぐ手段として活用していきたいですね。

build.gradle.kts
composeCompiler {
    // This settings enables strong-skipping mode for all module in this project.
    // As an effect, Compose can skip a composable even if it's unstable by comparing it's instance equality (===).
    enableExperimentalStrongSkippingMode = true

    stabilityConfigurationFile = project.rootDir.resolve("stability_config.conf")
}
stability_config.conf
java.time.LocalDate

AndroidにおけるKotlin Multiplatformを公式サポート

2023年以降Jetpackの主要ライブラリのKotlin Multiplatform対応が行われてきましたが、ついに公式サポートが発表されました。直近ではRoom、Lifecycle、ViewModelのMultiplatform対応を進めるということです。Kotlin MultiplatformはGoogle Workspaceの開発で採用されており、今後も採用事例が増えていきそうですね。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2