QQ; I understand people might be opinionated here,...
# multiplatform
r
QQ; I understand people might be opinionated here, but still - I have an app in Flutter but am considering moving to KMP/CMP because it feels more customizable/open/flexible. Obviously this will be a lot of work, but if it's more future proof, I'd go for it. But my struggles are with the ecosystem, KMP feels less mature, less active development, less in-production apps afaik, less libraries/plugins, ui less fancy out of the box etc. Are these just the struggles of getting started with KMP+CMP? Or should I really factor in this difference between the 2?
c
Why do you feel kMP/CMP is more customizable/open/flexible?
r
Because it's easier to implement platform specific features and where Flutter uses Dart (which is pretty specific) KMP's Kotlin seems to have broader compatibility. Flutter is more towards universal UI despite the platform, where CMP feels like it's a bit more towards platform-native UX. But I have little experience with C/KMP so that's why I decided to ask here where supposedly more experienced users can help to define a more realistic answer to this.
👍🏼 1
d
KMP is production ready and arguably has only a few minor downsides if you compare it to native apps built without KMP (i.e. a kotlin android app and separate swift iOS app). If your goal is staying as close as possible to "native" and you're okay with implementing the UI layer twice (or however many platforms you're supporting) then I'd definitely go with KMP. However if you absolutely want to share UI code then it's not as straightforward to say if CMP or Flutter is better imo and you'd have to decide for yourself. Flutter has been around longer and is more mature but CMP is picking up speed and still lets you drop back to "native" if something is not working out. If I were in your position I'd write a new app in CMP but I wouldn't really rewrite a fully working Flutter app to CMP just for the sake of it.
thank you color 1
r
It's only beta yet but it was a good amount of hours to get it working on flutter. But I kinda want to re-use it for other apps. Just components of it and the best practices etc, so might still be worth it. 🤔 Not sure