Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
脱Accompanistを考える / Bye Accompanist
Search
gyamoto
May 21, 2024
Technology
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
脱Accompanistを考える / Bye Accompanist
gyamoto
May 21, 2024
More Decks by gyamoto
See All by gyamoto
実践 脱Modifier.composed / Let's Modifier.Node
gya
2
860
タクシーアプリ『GO』Androidのリリースフロー / Release GO App
gya
1
1.5k
私の好きなModifier関数 / My Favorite Modifier
gya
0
1.2k
2022年ヘルスケアアプリのつくり方 / 2022 A Healthcare App Odyssey
gya
0
1.6k
タクシーアプリ「GO」AndroidにできるところからJetpack Composeを入れている話 / Introduce Jetpack Compose gradually
gya
0
920
Gradle BOM importでライブラリバージョン管理 / DroidKaigi2019
gya
3
2.4k
Firebaseで解決するAndroidの機種依存 / Firebase solve android device difference
gya
2
1.4k
Other Decks in Technology
See All in Technology
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
280
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
2
2.7k
知らん間に、回ってる
ming_ayami
0
330
次世代ランサムウェア対策の考察 / 20260704 Mitsutoshi Matsuo
shift_evolve
PRO
5
1.7k
AI Driven AI Governance
pict3
0
260
NDIAS CTF 2026 問題解説会資料
bata_24
0
180
SRE歴2ヶ月でも開発6年の知見を活かして、チームで止まっていた環境改善を前に進めた話
a_ono
1
220
はじめてのWDM
miyukichi_ospf
1
120
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
160
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
2
520
AWS Summit の片隅で、体育座りしながらコミュニティがにぎわう理由を考えた
k_adachi_01
2
360
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
1k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Between Models and Reality
mayunak
4
360
A better future with KSS
kneath
240
18k
How GitHub (no longer) Works
holman
316
150k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
600
The SEO Collaboration Effect
kristinabergwall1
1
500
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
ラッコキーワード サービス紹介資料
rakko
1
3.9M
How to train your dragon (web standard)
notwaldorf
97
6.7k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
380
Transcript
© GO Inc. 脱Accompanistを考える 2024.05.21 / Mobile勉強会 Wantedly × チームラボ
× Sansan #14 YAMAMOTO Kohei GO株式会社
© GO Inc. 2 自己紹介 GO株式会社 ユーザーシステム開発部 /YAMAMOTO Kohei タクシーアプリ『GO』のAndroidアプリ開発を担当。
梅雨の前に温泉に行きたい。 @farundorl @gyamoto
© 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
© 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ライブラリ群
© GO Inc. - タクシーアプリ『GO』で使っている Accompanist のライブラリ - ⏳ Placeholder
- 🖌 Drawable Painter - 📖 Pager - 🎨 Material Theme Adapter - 個人的に使っている Accompanist のライブラリ - 📫 Permissions - 📖 Pager - 🍫 System UI Controller - 🌏 Web - 📐 Insets 5 使用中のAccompanistライブラリ
© 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ライブラリ群(非推奨)
© GO Inc. Accompanistライブラリが非推奨になりメンテナンスが止まっている。 引き続き Jetpack Compose を最新化するために移行せねば… 7 脱Accompanistを考える
© GO Inc. 脱Accompanistのために、各ライブラリの移行ガイドを確認する 8 脱Accompanistを考える
© GO Inc. 読込中アニメーションを表示するライブラリ 非推奨になりメンテナンス停止中 9 ⏳ Placeholder (Deprecated) https://google.github.io/accompanist/placeholder/
© GO Inc. Compose API には未反映 実装をフォークするか、表示方法を変更するか… コード量も多くはないので、実装フォークでよさそう 10 ⏳
Placeholder (Deprecated) https://github.com/google/accompanist/tree/main/placeholder-material/src/main/java/com/google/accompanist/placeholder/material
© GO Inc. Edge-to-edge を実装するために System bar の色やアイコンを指定するライブラリ 非推奨になりメンテナンス停止中 11
🍫 System UI Controller (Deprecated) https://google.github.io/accompanist/systemuicontroller/#migration
© 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
© GO Inc. ViewPager ライブラリ androidx.compose で正式サポートとなり、非推奨になった https://google.github.io/accompanist/pager/#migration 13 📖
Pager (Deprecated) https://google.github.io/accompanist/pager/#migration
© GO Inc. パッケージ名の置き換えが必要 他にもパラメータの指定方法が少し変わったり、細かな変更がある 14 📖 Pager (Deprecated)
© GO Inc. 詳細は Migration Table 参照 https://google.github.io/accompanist/pager/#migration 15 📖
Pager (Deprecated)
© GO Inc. まだ非推奨じゃないので大丈夫!! 16 📫 Permissions https://google.github.io/accompanist/permissions/
© GO Inc. WebViewライブラリ 非推奨になりメンテナンス停止中 17 🌏 Web (Deprecated) https://google.github.io/accompanist/web/
© 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
© GO Inc. 余白を差し込むライブラリ 非推奨になりメンテナンス停止中 19 📐 Insets (Deprecated &
Removed) https://google.github.io/accompanist/insets/#migration
© GO Inc. androidx.compose で正式サポートとなり、非推奨になった Activity から WindowCompat.setDecorFitsSystemWindows(window, false) 設定が必要
まだ非推奨になってない insets-ui ライブラリは利用可能。まだ… 20 📐 Insets (Deprecated & Removed)
© GO Inc. Accompanist は非推奨になる マイグレーションガイドを参考に移行を進める必要がある パッケージ名やクラス名の変更程度で済む場合もある Compose API に反映されない場合、
別の実装アプローチへの移行、実装のフォーク、相互運用APIなどの検討が必要になる 21 まとめ