casa-android という catalog アプリを作れるフレームワークが新たに登場したので、どのようなことができるのか試しに使ってみました。
casa-android は 2022/12/22 時点で Ver 0.1.0 となっており、将来的に大きく実装が変わる可能性があります。
導入
基本的には https://github.com/google/casa-android#how-to-use-it に書かれている通りです。
ただし、Ver 0.1.0 ではいくつかハマりポイントがあります。
- パッケージ名が
com.google.android.catalog.framework:xxx:0.1.0
として配布されている- README にある
com.google.android.casa
ではない
- README にある
-
sample modules の設定では省略されているが、ksp を使用しているので、
kotlin.srcDir("build/generated/ksp/${valiant}/kotlin")
の設定が必要- https://kotlinlang.org/docs/ksp-quickstart.html#make-ide-aware-of-generated-code
- この設定がないと
@Sample
を ksp で探して生成されたコードが見つけられずにビルドエラーになる
- minSdk 26 が要求される
- catalog アプリだけ別アプリにしてしまえば問題はないが、アプリ本体に組み込む場合は注意が必要
実装される catalog アプリの様子
Compose の場合は Composable fun に @Sample
をつけていくだけで catalog アプリに実装されます。
(@Preview
は特につけやすい)
Activity や Fragment にも @Sample
とつけるだけで catalog アプリに組み込まれるようになります。

Showcase との違い
似たような機能を持つライブラリに Showcase が既に存在します。
case-android はまだ出たばかりということもあり機能が充実しているとは言えませんが、
- case-android は Compose だけでなく Activity や Fragment も catalog アプリの中に組み込める
- Showcase は Compose only
- catalog アプリとして standalone で動かすことができる
-
startActivity
でアプリの中から開く Showcase とは異なり、単独の catalog アプリとして作ることができるようになっている
-
あたりが Showcase との現時点での差となっています。
Google 公式の catalog アプリが作れるフレームワークである casa-android は出たばかりでまだまだ開発途中なので今後の発展が楽しみですね。