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
850
タクシーアプリ『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
背中から、背中へ /paying forward to community
naitosatoshi
0
220
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
150
AWS Summit Japan 2026の振り返りと2027へ向けて / AWS Summit Japan 2026 Recap and Prospects for 2027
kaminashi
1
190
RAGの精度向上とエージェント活用
kintotechdev
2
130
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
370
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
0
660
ゼロをイチにする仕事が終わったあと
smasato
0
270
デジタル・デザイン:次の50年を描く「進化する青写真」
y150saya
0
800
Terraform 101 (初心者向け) 資料
shuadachi
0
170
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
240
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
130
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
220
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How to train your dragon (web standard)
notwaldorf
97
6.7k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
How to Talk to Developers About Accessibility
jct
2
280
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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 まとめ