ページ内ナビ
概要
CircuitはKotlin・Android向けのCompose駆動アプリケーションフレームワークです。画面をScreenで識別し、PresenterとUiを状態・イベントだけで接続する一方向データフローを中心に、画面表示やnavigationを構成します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
PresenterとUiを状態・イベントだけで接続する
PresenterとUiは互いを直接参照せず、CircuitUiStateとイベントを介して通信します。Presenter側でもCompose runtimeを使い、状態生成と画面描画の責務を分離できます。
出典:[2]
CircuitContentとnavigationを共通構成から提供する
Circuit.BuilderでUi/Presenter factory等を設定し、CircuitCompositionLocalsとCircuitContentから画面を実行できます。backstackやnavigation、retained state等は用途別artifactとして組み合わせられます。
出典:[3]
向いている用途
導入前の確認
0.39.0のKotlin・Compose・AGP更新条件を確認する
0.39.0ではKotlin 2.4.20、Compose Multiplatform 1.12.0、AndroidX Compose 1.12.1、AGP 9.4.0へ更新されています。既存プロジェクトへ導入する前にビルド環境との互換性を確認してください。
出典:[4]
参考にした公式資料
- [1]slackhq/circuit — GitHub repository(2026-10-06)
- [2]Circuit 0.39.0 — Overview(2026-10-06)
- [3]Circuit 0.39.0 — Setup(2026-10-06)
- [4]Circuit 0.39.0 release(2026-10-06)
- [5]Circuit Apache-2.0 license(2026-10-06)
編集部からの補足
Compose UIだけでなくPresenter側にもCompose runtimeを使う設計が特徴です。既存のDI・navigation・状態管理をどこまでCircuitへ寄せるかを決めてから、画面単位で段階導入すると評価しやすくなります。
3ステップで試す
- 1
Circuit Foundation 0.39.0を追加する
Presenter、Ui、Screen、navigationの基本APIをまとめたfoundation artifactを追加します。
implementation("com.slack.circuit:circuit-foundation:0.39.0") - 2
UiとPresenterのFactoryをCircuitへ登録する
公式setup例に沿って、対象Screenを処理するUi/Presenter factoryを共通Circuit設定へ登録します。
val circuit = Circuit.Builder() .addUiFactory(AddFavoritesUiFactory()) .addPresenterFactory(AddFavoritesPresenterFactory()) .build() - 3
Compose階層からScreenを実行する
Circuit設定をCompositionLocalへ渡し、Screenに対応するPresenterとUiが接続されることを確認します。
CircuitCompositionLocals(circuit) { CircuitContent(AddFavoritesScreen()) }
成長
成長の推移 · 直近30日
1,857 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 40
- Open PR
- 7
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- architecture
- compose
- kotlin
- android
- mvi
- udf
- Stars
- 1,857
- Forks
- 122
- Watchers
- 20
- Open Issues
- 5
- Contributors
- 46
- 所有者種別
- Organization
- 主要言語
- Kotlin
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Avalonia31,625 Stars
共通タグ 2件 · 共通カテゴリ 2件
C#とXAMLでWindows・macOS・Linux・mobile・WebAssemblyへ展開できるcross-platform UIを構築する
C# - Kotlin53,479 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Java資産を活かしながらJVMからAndroid・iOS・desktop・Webへ広げる
Kotlin - LeakCanary30,005 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Androidアプリの保持オブジェクトを追跡し、メモリリークの経路を示す
Kotlin - Mavericks5,926 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
StateとViewModelを軸にAndroid画面の状態更新を一方向に整理する
Kotlin - Horologist699 Stars
共通タグ 4件 · 共通カテゴリ 2件 · 同じ言語
Wear OSでmedia・音量・picker・DataLayerなど不足しがちな機能を補完するlibrary群
Kotlin - Compose Multiplatform19,405 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
KotlinでAndroid・iOS・デスクトップ・WebのUIコードを共有する宣言的フレームワーク
Kotlin
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。