UIフレームワーク自体はComposeのほうがいいけど
デフォルトでstateクラスがあって、極力
状態の管理を外だしと徹底してる(例えばメニューの表示/非表示も自分で制御)
探検
【Kotlin】Compose Multiplatform 1
2025/08/13(水) 15:51:08.49ID:OAhd0lCG
2025/08/13(水) 15:58:07.01ID:OAhd0lCG
>Kotlin/Nativeへの対応はAndroidを除いて完了しているからComposeのGUIは脱JVMへの舵をきれる状態ではある
ここは期待したいけど
そもそもandroidアプリはデフォルトがJVM環境だから脱しなくてもいいけど
デスクトップ向けでJVM要求されるのがうっとおしい
ここは期待したいけど
そもそもandroidアプリはデフォルトがJVM環境だから脱しなくてもいいけど
デスクトップ向けでJVM要求されるのがうっとおしい
64デフォルトの名無しさん
2025/08/13(水) 18:30:40.15ID:pILUZJEv KMPに関することでありComposeとかけ離れた話になってるからKotlinスレで議論したほうがよいのでしょうけど一応
>>60,61
・59ではJNIによるラップをCで書いているがこれ自体をCではなくKotlin/Nativeで書くことも可能
・Kotlin/Nativeはcinteropを書いて
https://github.com/androidx/androidx/tree/androidx-main/sqlite/sqlite-framework/src/nativeInterop/cinterop
ヘッダーファイルのC関数をKotlinで直接呼べる
https://github.com/androidx/androidx/blob/androidx-main/sqlite/sqlite-framework/src/nativeMain/kotlin/androidx/sqlite/driver/NativeSQLiteStatement.kt
>>63
・KMPでJVM向けアプリケーションを実行形式にビルドするとJavaランタイムを同梱してくれるのでアプリケーションの利用者にJVM環境を求めない
これでよかったでしょうか
ComposeやKMPのことで他に疑問があれば答えられます
>>60,61
・59ではJNIによるラップをCで書いているがこれ自体をCではなくKotlin/Nativeで書くことも可能
・Kotlin/Nativeはcinteropを書いて
https://github.com/androidx/androidx/tree/androidx-main/sqlite/sqlite-framework/src/nativeInterop/cinterop
ヘッダーファイルのC関数をKotlinで直接呼べる
https://github.com/androidx/androidx/blob/androidx-main/sqlite/sqlite-framework/src/nativeMain/kotlin/androidx/sqlite/driver/NativeSQLiteStatement.kt
>>63
・KMPでJVM向けアプリケーションを実行形式にビルドするとJavaランタイムを同梱してくれるのでアプリケーションの利用者にJVM環境を求めない
これでよかったでしょうか
ComposeやKMPのことで他に疑問があれば答えられます
65デフォルトの名無しさん
2025/08/13(水) 19:12:56.84ID:pILUZJEv >>64に追記で、
JNIによるラップをKotlin/Nativeで書くことができるので、
Cコードの呼び出し等をnativeMainで書いて、それをjniMain(各自命名)で継承し、
そこでnativeMainのKotlin/NativeコードをJNIラップしてやればよい
こういったテクニックを駆使すればC呼び出しを含むコードでも十分に共通化できる
JNIによるラップをKotlin/Nativeで書くことができるので、
Cコードの呼び出し等をnativeMainで書いて、それをjniMain(各自命名)で継承し、
そこでnativeMainのKotlin/NativeコードをJNIラップしてやればよい
こういったテクニックを駆使すればC呼び出しを含むコードでも十分に共通化できる
2025/08/14(木) 17:44:14.36ID:g00bnU7h
1.9キター
ってロードマップ更新しろよ
ってロードマップ更新しろよ
67デフォルトの名無しさん
2025/08/14(木) 22:45:55.02ID:mhSblWPk 1.9で追加されたrememberSerializableが便利だ
68デフォルトの名無しさん
2025/08/18(月) 19:15:11.61ID:Gfjo7mYU2025/08/18(月) 19:40:31.95ID:/HMywgCQ
MVVMでいいと思う
最大の問題は大きなメリットもないのにflutterとかUIフレームワークごとに
別のアーキテクチャ覚えさせるの?
まさしく時間の無駄だし
最大の問題は大きなメリットもないのにflutterとかUIフレームワークごとに
別のアーキテクチャ覚えさせるの?
まさしく時間の無駄だし
70デフォルトの名無しさん
2025/08/19(火) 00:25:37.02ID:9Ur9ADeh >>69
68のはMVVMを捨ててReactでよく使われるようなMVPに近づけて、むしろWeb系フレンドリーを目指してるから受け入れられやすい
68のはMVVMを捨ててReactでよく使われるようなMVPに近づけて、むしろWeb系フレンドリーを目指してるから受け入れられやすい
71デフォルトの名無しさん
2025/08/19(火) 00:33:32.73ID:9Ur9ADeh 世界で一番多いフロントエンジニアはWeb系だからそれらの書き方に似せるのは賢いなと思った
72デフォルトの名無しさん
2025/08/19(火) 08:08:45.09ID:9Ur9ADeh >>69
追記で
ComposeフレームワークはUIレンダリングとしての役割のほかに状態管理ランタイムとしての役割も有していて
ViewModelによる状態管理がComposeフレームワーク上で不要なのではと言われている
参考記事
https://zenn.dev/rockname/articles/2a7db5ac4bb516
具体的には
Composeアプリ開発におけるViewModelはandroidx.lifecycle.ViewModelライブラリとしての独自の特殊なライフサイクルを有していて
Composeと異なるライフサイクルのため
ViewModelとComposeのそれぞれで状態管理をしていて状態の保持が点在する問題があって
この問題を解決するためにViewModel自体をComposableに書き直してしまおうとなり
それならViewModelよりPresenterで状態管理するほうが自然に書けるねってなった
ComposeではAndroidにおけるアクティビティの再生成による状態のリセットの特殊性が健在でFlutterとは事情が異なる
追記で
ComposeフレームワークはUIレンダリングとしての役割のほかに状態管理ランタイムとしての役割も有していて
ViewModelによる状態管理がComposeフレームワーク上で不要なのではと言われている
参考記事
https://zenn.dev/rockname/articles/2a7db5ac4bb516
具体的には
Composeアプリ開発におけるViewModelはandroidx.lifecycle.ViewModelライブラリとしての独自の特殊なライフサイクルを有していて
Composeと異なるライフサイクルのため
ViewModelとComposeのそれぞれで状態管理をしていて状態の保持が点在する問題があって
この問題を解決するためにViewModel自体をComposableに書き直してしまおうとなり
それならViewModelよりPresenterで状態管理するほうが自然に書けるねってなった
ComposeではAndroidにおけるアクティビティの再生成による状態のリセットの特殊性が健在でFlutterとは事情が異なる
73デフォルトの名無しさん
2025/08/19(火) 15:40:18.83ID:9Ur9ADeh droidkaigi2025デスクトップアプリを起動してみたがボトムバーがiOS26のタブバーのような見た目だ
今後はこういうフローティングバーが流行るのだろうか
https://i.imgur.com/u4aobGF.jpeg
今後はこういうフローティングバーが流行るのだろうか
https://i.imgur.com/u4aobGF.jpeg
2025/08/19(火) 15:42:19.75ID:OfjY9UJ1
material expressiveのフローティングツールバーでしょ
75デフォルトの名無しさん
2025/08/19(火) 20:55:56.18ID:9Ur9ADeh それはツールバーっしょ
m3exressiveのナビゲーションバーはドックのしかない
m3exressiveのナビゲーションバーはドックのしかない
76デフォルトの名無しさん
2025/09/02(火) 23:42:25.29ID:BG74jSL6 たまたまiOSライクなフローティングタブバーのComposeの実装例を見つけたから貼っとくぞ
https://github.com/elyesmansour/compose-floating-tab-bar
https://raw.githubusercontent.com/elyesmansour/compose-floating-tab-bar/main/assets/demo.gif
https://github.com/elyesmansour/compose-floating-tab-bar
https://raw.githubusercontent.com/elyesmansour/compose-floating-tab-bar/main/assets/demo.gif
2025/09/06(土) 12:49:25.12ID:fnthT/PT
普及なかなか進んでないな
78デフォルトの名無しさん
2025/09/06(土) 13:14:37.72ID:rmxBGTZh AmazonがComposeを好んで一部製品に使ってアピールしてるから、普及はこれからな気もする
ReactNativeで良い感は否めないけど
ReactNativeで良い感は否めないけど
2025/09/13(土) 16:45:04.92ID:suFi3JuE
>>78
何に使ってるの?
何に使ってるの?
80デフォルトの名無しさん
2025/09/13(土) 21:35:32.73ID:bqa2q9pe2025/09/14(日) 20:47:10.07ID:GM0TlpuE
>>80
なるほどねー
なるほどねー
2025/09/16(火) 11:26:53.93ID:1AtlUxAK
「クライシスアクター」「宮本晴代」「豊島保養所」「ケムトレイル」「マグナBSP」「アドレノクロム」←画像検索&拡散!!
「ムサシ 不正選挙」←要検索!!!ちなみにアメリカは「ドミニオン」な
インドの対日レアアース輸出禁止・インドの航空機事故・インドの新幹線導入はリンクしています。
爬虫類(レプティリアン/DS)金融ヤクザ天〇財閥・tsmc浙江財閥等の中華系爬虫類組織をぶっ潰しましょう。
イラン国内のモサド工作員 ≒ イラン在住のレプ
レプ(DS)の地下施設に突撃!!!!
www.youtube.com/watch?v=UzEhzJw69KM www.youtube.com/watch?v=fsG76Mo5ZTs
www.youtube.com/watch?v=V1SXb3tIk8U www.youtube.com/watch?v=fa8ZfKL7TZ4
www.youtube.com/watch?v=EuQWR0cl7es www.youtube.com/watch?v=daApYtbhUbQ
www.youtube.com/watch?v=83ZMb2vK_dI www.youtube.com/watch?v=DlIqow9MnxQ
www.youtube.com/watch?v=ETlSW0OiB5U www.youtube.com/watch?v=xfW4ha_Bfrs
www.youtube.com/watch?v=HBL5oidtCpw www.youtube.com/watch?v=R6FLwGhZ4xY
あなたの周りにも存在し、自分たちの種族に敵対的な存在に対して集団ストーカー等を仕掛ける痛い下等種族です。
ユダヤ系住民がタムラへの攻撃を喜び、「村が燃えますように」と叫ぶ様子
↑人間同士の対立を煽るこいつがレプやでーーーーーーーーーー!
「ムサシ 不正選挙」←要検索!!!ちなみにアメリカは「ドミニオン」な
インドの対日レアアース輸出禁止・インドの航空機事故・インドの新幹線導入はリンクしています。
爬虫類(レプティリアン/DS)金融ヤクザ天〇財閥・tsmc浙江財閥等の中華系爬虫類組織をぶっ潰しましょう。
イラン国内のモサド工作員 ≒ イラン在住のレプ
レプ(DS)の地下施設に突撃!!!!
www.youtube.com/watch?v=UzEhzJw69KM www.youtube.com/watch?v=fsG76Mo5ZTs
www.youtube.com/watch?v=V1SXb3tIk8U www.youtube.com/watch?v=fa8ZfKL7TZ4
www.youtube.com/watch?v=EuQWR0cl7es www.youtube.com/watch?v=daApYtbhUbQ
www.youtube.com/watch?v=83ZMb2vK_dI www.youtube.com/watch?v=DlIqow9MnxQ
www.youtube.com/watch?v=ETlSW0OiB5U www.youtube.com/watch?v=xfW4ha_Bfrs
www.youtube.com/watch?v=HBL5oidtCpw www.youtube.com/watch?v=R6FLwGhZ4xY
あなたの周りにも存在し、自分たちの種族に敵対的な存在に対して集団ストーカー等を仕掛ける痛い下等種族です。
ユダヤ系住民がタムラへの攻撃を喜び、「村が燃えますように」と叫ぶ様子
↑人間同士の対立を煽るこいつがレプやでーーーーーーーーーー!
83デフォルトの名無しさん
2025/09/16(火) 23:29:19.23ID:cWls4qHP2025/09/17(水) 12:57:54.32ID:lZFOLn6g
>>83
そろそろ使うか
そろそろ使うか
2025/09/17(水) 14:47:30.36ID:cprQK5IX
男は黙って2.0になってからやろ
86デフォルトの名無しさん
2025/09/17(水) 15:29:43.99ID:V91Sukbk バージョン2.0になるのはJetBrainsのComposeMultiplatformがGoogleのJetpackComposeと完全に統合するときかな
早くて来年のGoogle I/Oに合わせてメジャーアップデートと予想
早くて来年のGoogle I/Oに合わせてメジャーアップデートと予想
87デフォルトの名無しさん
2025/09/19(金) 21:26:30.12ID:kwj0OC91 今年のDroidKaigiを漁ってたら興味深いアーカイブがあった
Composeはそれ自体が状態管理に特化したフレームワークの側面もあることがよく分かる
DroidKaigi 2025 - [JA] UIだけじゃないComposeの可能性 ━ 宣言的に奏でるメロディ | usuiat
https://youtu.be/vVkkHxBWhK0
Composeはそれ自体が状態管理に特化したフレームワークの側面もあることがよく分かる
DroidKaigi 2025 - [JA] UIだけじゃないComposeの可能性 ━ 宣言的に奏でるメロディ | usuiat
https://youtu.be/vVkkHxBWhK0
88デフォルトの名無しさん
2025/10/08(水) 21:39:05.46ID:RMEC36C6 v1.10.0-alpha02きた
https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.10.0-alpha02
Jetbrains版のNavigation3も1.0.0-alpha02がChangelogに書いてないけどきててMultiplatformにほぼ対応した
https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.10.0-alpha02
Jetbrains版のNavigation3も1.0.0-alpha02がChangelogに書いてないけどきててMultiplatformにほぼ対応した
2025/10/08(水) 22:44:00.41ID:mMNcv0n1
一通りそろうのまだ先そうだな
2025/10/21(火) 20:13:44.52ID:iI6Ys8s+
ViewModelにonClearedはあるけど何でLifecycleのonStopやonStart用意してくれないの
アタオカやろ
アタオカやろ
2025/10/21(火) 20:15:57.68ID:iI6Ys8s+
onClearedはViewModelOwnerが呼んでくれてstopやstopはLifecycleOwnerの役目だから?
92デフォルトの名無しさん
2025/10/21(火) 23:55:58.40ID:H1vV3rf4 AAC ViewModel(MVVMのViewModelのことではない)はAndroid用の状態のホルダーでしかなくて、
UI側にあたるLifecycleはAAC ViewModelとほぼ関係ないからねえ
Lifecycleを監視したいならUI側から持ってきたらいい
ComposeならLifecycleStartEffectでViewModelのコルーチンジョブを起動してonStopOrDisposeでコルーチンジョブのキャンセルを呼び出せる便利なもんがあるし
UI側にあたるLifecycleはAAC ViewModelとほぼ関係ないからねえ
Lifecycleを監視したいならUI側から持ってきたらいい
ComposeならLifecycleStartEffectでViewModelのコルーチンジョブを起動してonStopOrDisposeでコルーチンジョブのキャンセルを呼び出せる便利なもんがあるし
93デフォルトの名無しさん
2025/11/20(木) 13:23:44.39ID:SBKyF0LW AndroidXのNavigation3が安定版になった
Overview
https://developer.android.com/guide/navigation/navigation-3
Migrate from Navigation 2 to Navigation 3
https://developer.android.com/guide/navigation/navigation-3/migration-guide
Overview
https://developer.android.com/guide/navigation/navigation-3
Migrate from Navigation 2 to Navigation 3
https://developer.android.com/guide/navigation/navigation-3/migration-guide
94デフォルトの名無しさん
2025/11/29(土) 14:14:20.16ID:rsFRibOo Compose Hot Reloadが安定版1.0.0になってた
https://github.com/JetBrains/compose-hot-reload
https://github.com/JetBrains/compose-hot-reload
レスを投稿する
ニュース
- 植田日銀総裁 「利上げが遅れれば、米欧のように非常に高いインフレが起きて、日本は大幅な利上げが必要となる」 [お断り★]
- へずまりゅう氏が言葉失う 街中で女性から「息子はあなたみたいな人間に育たぬよう教育しています」 [jinjin★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 【東京】東村山市が全市民に現金4千円給付へ 食料品の価格高騰対策で [ぐれ★]
- 高市早苗「いいから黙って全部アタシに投資しなさい!」国際金融会議で発言し周囲ドン引き [165981677]
- ちょっとリップクリーム貸して
- 早苗のおまんこパンパンパン🏡
- まちづくりについて話し合う住民会みたいなやつに参加したことがないんだけど
- 【悲報】「働いて働いて働いて」の高市早苗さん、週明けはおうちを10時42分に出て18時55分には帰宅😔 [616817505]
- 【悲報】台湾有事で米中衝突、最悪のシナリオは日本人死者「4,662人」 [237216734]
