Upgrade to Pro — share decks privately, control downloads, hide ads and more …

脱Accompanistを考える / Bye Accompanist

脱Accompanistを考える / Bye Accompanist

gyamoto

May 21, 2024
Tweet

More Decks by gyamoto

Other Decks in Technology

Transcript

  1. © GO Inc. Jetpack Composeを補完するライブラリ群 まだ Compose API で利用できないが、開発者が求める一般的な機能を試験的に導入。 Android

    View (Activity, Fragment, View) や Material Components の機能やUIを Jetpack Compose で実現できるようになる Compose API に反映された時点で非推奨となり Accompanist から削除される 3 Accompanistとは https://google.github.io/accompanist
  2. © GO Inc. - 📫 Permissions - 🖌 Drawable Painter

    - 📜 Adaptive - ⬇ Swipe to Refresh - 🎨 AppCompat Theme Adapter - 📖 Pager - 🌊 Flow Layouts - 🧭✨Navigation-Animation - 🧭🎨 Navigation-Material - ⏳ Placeholder - 🍫 System UI Controller - 🎨 AppCompat Theme Adapter - 🎨 Material Theme Adapter - 🎨 Material 3 Theme Adapter - 🌏 Web - 🗜 Test Harness - 📐 Insets 4 Accompanistライブラリ群
  3. © GO Inc. - タクシーアプリ『GO』で使っている Accompanist のライブラリ - ⏳ Placeholder

    - 🖌 Drawable Painter - 📖 Pager - 🎨 Material Theme Adapter - 個人的に使っている Accompanist のライブラリ - 📫 Permissions - 📖 Pager - 🍫 System UI Controller - 🌏 Web - 📐 Insets 5 使用中のAccompanistライブラリ
  4. © GO Inc. - 📫 Permissions - 🖌 Drawable Painter

    - 📜 Adaptive - ⬇ Swipe to Refresh (Deprecated) - 🎨 AppCompat Theme Adapter (Deprecated) - 📖 Pager (Deprecated) - 🌊 Flow Layouts (Deprecated) - 🧭✨Navigation-Animation (Deprecated) - 🧭🎨 Navigation-Material (Deprecated) - ⏳ Placeholder (Deprecated) - 🍫 System UI Controller (Deprecated) - 🎨 AppCompat Theme Adapter (Deprecated) - 🎨 Material Theme Adapter (Deprecated) - 🎨 Material 3 Theme Adapter (Deprecated) - 🌏 Web (Deprecated) - 🗜 Test Harness (Deprecated) - 📐 Insets (Deprecated & Removed) 6 Accompanistライブラリ群(非推奨)
  5. © GO Inc. Compose API には未反映 実装をフォークするか、表示方法を変更するか… コード量も多くはないので、実装フォークでよさそう 10 ⏳

    Placeholder (Deprecated) https://github.com/google/accompanist/tree/main/placeholder-material/src/main/java/com/google/accompanist/placeholder/material
  6. © GO Inc. Edge-to-edge を実装するために System bar の色やアイコンを指定するライブラリ 非推奨になりメンテナンス停止中 11

    🍫 System UI Controller (Deprecated) https://google.github.io/accompanist/systemuicontroller/#migration
  7. © GO Inc. androidx.activity 1.8.0-alpha03~ から追加された Activity.enableEdgeToEdge に移行する 移行サンプルとして android/nowinandroid

    リポジトリのPullRequestを参考にできる 12 🍫 System UI Controller (Deprecated) https://google.github.io/accompanist/systemuicontroller/#migration https://github.com/android/nowinandroid/pull/817
  8. © GO Inc. Compose API には未反映 実装をフォークするか、相互運用APIでCompose内にAndroid View の WebView

    を表示する? 実装量も膨大ではないので、シンプルなWebView表示であれば実装フォークでよさそう 18 🌏 Web (Deprecated) https://github.com/google/accompanist/blob/f27f3ec/web/src/main/java/com/google/accompanist/web/WebView.kt
  9. © GO Inc. androidx.compose で正式サポートとなり、非推奨になった Activity から WindowCompat.setDecorFitsSystemWindows(window, false) 設定が必要

    まだ非推奨になってない insets-ui ライブラリは利用可能。まだ… 20 📐 Insets (Deprecated & Removed)