Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
脱Accompanistを考える / Bye Accompanist
Search
gyamoto
May 21, 2024
Technology
640
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
940
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
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
1
240
データ界隈LT祭 第1回LT登壇
taromatsui_cccmkhd
0
150
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
160
あるけみー式LTスライド作成術
alchemy1115
1
200
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
150
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
140
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
3
2.2k
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
140
NW運用でNWトポロジ可視化ツールに期待すること/shumoku-meetup1
corestate55
2
120
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
200
Sigmaユーザーのための有用リソース一挙公開 & Sigmaで使えるMCP #sigma_ucj /useful-resources-for-sigma-computing-users-and-mcps-with-sigma
shinyaa31
0
200
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
110
Featured
See All Featured
We Are The Robots
honzajavorek
0
360
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
Designing for Performance
lara
611
70k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Writing Fast Ruby
sferik
630
63k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Side Projects
sachag
456
43k
Producing Creativity
orderedlist
PRO
348
41k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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 まとめ