Slide 1

Slide 1 text

<< Jetpack Compose と Accompanist

Slide 2

Slide 2 text

● Twitter: @mono33__ ● 興味: Compose / ビルド周り ● 株式会社ゆめみ みかみ/403

Slide 3

Slide 3 text

Accompanist について紹介します! (コード・技術的なお話は 別途 Zenn をご確認ください)

Slide 4

Slide 4 text

アジェンダ ● Jetpack Compose と Accompanist について ● Accompanist を使ってみる ● Accompanist を使ってみた感想

Slide 5

Slide 5 text

Jetpack Compose と Accompanist について

Slide 6

Slide 6 text

Jetpack Compose ● 宣言型アプローチの最新 UI ツールキット ● 2021年7月に 1.0.0 に安定版がリリースされ 漸次アップデート [1] Jetpack Compose is now 1.0: announcing Android’s modern toolkit for building native UI, https://android-developers.googleblog.com/2021/07/jetpack-compose-announcement.html

Slide 7

Slide 7 text

Jetpack Compose の Roadmap [2] Jetpack Compose Roadmap, https://developer.android.com/jetpack/androidx/compose-roadmap ● Roadmap が公開されている https://android-developers.googleblog.com/2021/07/jetpack-compose-announcement.html

Slide 8

Slide 8 text

● AndroidX 間で experimental api を呼び出す ことができない Jetpack Compose の開発における問題 androidx.compose:foundation androidx.compose:material @ExperimentalMaterialApi [3] Jetpack Compose Accompanist — An FAQ., https://medium.com/androiddevelopers/jetpack-compose-accompanist-an-faq-b55117b02712

Slide 9

Slide 9 text

● AndroidX 間で experimental api を呼び出す ことができない Jetpack Compose の開発における問題 androidx.compose:foundation androidx.compose:material @ExperimentalMaterialApi 新しい機能の追加が行いにくい!

Slide 10

Slide 10 text

Accompanist ● AndroidX ではサポートされていない Jetpack Compose の機能を補 完することを目的としたライブラリのコレクション [4] Accompanist, https://github.com/google/accompanist https://github.com/google/accompanist/blob/main/docs/header.png

Slide 11

Slide 11 text

Accompanist の背景・目的 ● Compose の開発初期から AndroidX とは独立して Github 上で開発 ○ 最初は Coil のラッパーライブラリだった ○ AndroidX の experimental api を利用できる ○ 実験的な機能を追加しやすい ● Accompanist はその機能が AndroidX 側に実装が移行され Accompanist が存在しなくなることが目的 [3] Jetpack Compose Accompanist — An FAQ., https://medium.com/androiddevelopers/jetpack-compose-accompanist-an-faq-b55117b02712

Slide 12

Slide 12 text

Accompanist を使ってみる

Slide 13

Slide 13 text

Accompanist は使えるのか...? ● Compose を利用しているプロジェクトの 30 % 弱以上が Accompanist を使用している[3] [3] Jetpack Compose Accompanist — An FAQ., https://medium.com/androiddevelopers/jetpack-compose-accompanist-an-faq-b55117b02712

Slide 14

Slide 14 text

● Compose のバージョンに応じて Accompanist の バージョンを指定 Accompanist のバージョン https://github.com/google/accompanist#compose-versions

Slide 15

Slide 15 text

● Github にライブラリ一覧と使用例が記載 使いたいライブラリを探す

Slide 16

Slide 16 text

● 何かと扱いにくい ModalBottomSheet を Compose で扱うライブラリ ● 「Jetpack Compose と Accompanist で ModalBottomSheet を実装する」と いうZenn を書きました📝 Navigation Material for Jetpack Compose [5] Jetpack ComposeとAccompanistでModalBottomSheetを実装する  ,https://zenn.dev/mona/articles/b7db89481a0461

Slide 17

Slide 17 text

● Compose で Runtime Permission を よしなに扱えるライブラリ ● 「Jetpack Compose でアプリ・デバイスの 位置情報権限を扱う方法を考える」という Zenn を書きました📝 Permissions for Jetpack Compose [6] Jetpack Composeでアプリ・デバイスの位置情報権限を扱う方法を考える  ,https://zenn.dev/mona/articles/b49ba42ae4a4ea

Slide 18

Slide 18 text

Accompanist を使ってみた感想

Slide 19

Slide 19 text

感想 ● プロダクトでも Accompanist をどんどん使っていけそう ○ 結構色々なことがサポートされている ○ 実装が変更されることはあるので注意 ● Accompanist は内部実装も勉強になる ● Accompanist に Contribute もできそう 余力があれば...

Slide 20

Slide 20 text

CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, infographics & images by Freepik. Thanks!

Slide 21

Slide 21 text

References ● Jetpack Compose is now 1.0: announcing Android’s modern toolkit for building native UI, https://android-developers.googleblog.com/2021/07/jetpack-compose-announcement.html ● Jetpack Compose Roadmap, https://developer.android.com/jetpack/androidx/compose-roadmap ● Jetpack Compose Accompanist — An FAQ., https://medium.com/androiddevelopers/jetpack-compose-accompanist-an-faq-b55117b02712 ● Accompanist, https://github.com/google/accompanist ● Jetpack Compose と AccompanistでModalBottomSheetを実装する  ,https://zenn.dev/mona/articles/b7db89481a0461 ● Jetpack Compose でアプリ・デバイスの位置情報権限を扱う方法を考える  ,https://zenn.dev/mona/articles/b49ba42ae4a4ea