Whats the current state of CMP iOS today? - Like c...
# compose-ios
j
Whats the current state of CMP iOS today? • Like can I do basic things like breakpoints in all IDEs for iOS debug CMP code? • Swift libraries bi-directional interop, like consume iOS Crypto from Kotlin. In general add Swift libraries as Gradle dependencies basically. • Basic third party things like deep linking or open other apps cross platform. • Publish app framework working for everything. Both libraries and app. Like publish into maven or App Store. Fastlane not enough. Any roadmap that includes these as I feel require to have before rc or stable state of iOS CMP?
c
All the things you mention are not Compose related but #multiplatform
j
I dont agree, its very much dependant of how consume it from CMP. Not only KMP.
k
Beta is about technology. Not ecosystem No one knows how to measure ecosystems. And it is strange 😆
😁 1
💯 1
l
I think technologies like Flutter and React Native have kind of made ecosystem and UI library feel synonymous to a lot of people. Compose seems to be the only cross-platform option where a UI library doesn't match basically 1:1 with ecosystem.
m
@Joel Denke Opening apps across platform I’m doing for WhatsApp and Email. Using an AppOpener implementation on each platform. For deeplinking, also works for me, consuming the deeplinos natively and then passing to Voyager
j
@Max Yeah just very complex try find all apps usages in desktop, web, iOS and Android. I mean yeah its possible but very hard implement across all platforms.
m
I think every cross platform technology will lead to us devs writing platform specific code for things that are different on platforms. Personally, i prefer writing clean platform code over the Flutter approach where there “is a package/lib for everything”. Flutter packages have their limitations and high potential to break with underlying platform upgrades - but a natively implemented custom implementation is more robust. It of course depends on what you wanna do, for me i currently implemented these things natively on each platform (rest is shared code): • notifications • delayed work • contacts import • app opening • csv file loading + reading from disk It is more effort, yes, but still quite happy with the state of KMP, bc it allows me to write this code natively easily
👍 2
jetpack compose 1
j
@Max I agree but its about time mostly. Not viable do everything from scratch by yourself. Then we dont need anything :) the majority of things being in core need to be handled I think, like navigation or publish an app.
👍 1
s
Opening apps across platform I’m doing for WhatsApp and Email. Using an AppOpener implementation on each platform.
@Max did you also got intent working, ex: opening deeplink from browser with custom uri in-app. If yes, can you share the gist of platform specific code, especially windows.
m
Intent yes coming from a notification (pendingIntent on Android, url payload on ios notification). I‘m not supporting windows atm For Android i check in my MainActivity in onCreate and onNewIntent if my intent contains a deeplink, if so i process it (pass to my nav framework). On ios i do the same Can share some code when i‘m on my computer
s
Yes done for mobile targets, mac was easy as well, Windows is slightly complicated since it needs to edit registries and so...