I've recently published a CMP app on the App Store...
# ios
t
I've recently published a CMP app on the App Store. I don't have a recent iOS device. On my iphone 6s, navigation and animations can be choppy, which is to be expected on such an old device. It's not super smooth on simulators but it's correct, totally acceptable. I've had feedback that my app can be slow at times on an iphone 13. In comparison it's super smooth on my pixel 8a. My question is, as of today, are performances poorer on iOS devices compared to Android ones when it comes to CMP? It wouldn't surprise me, but is it a fact? I feel like there isn't much that I can do to improve performances.
c
there was a video at kotlinconf recently that said its on par with swiftui and in some cases faster than swiftui.
a
We have not experienced a huge difference between the two.
t
I guess I have some testing to do.
a
Highly recommend picking up a phone here and there from backmarket if your budget is tight. Or depending on where you are, we have gotten good deal from local used cell vendors where we take devices that are harder to sell because of wear etc.
c
theres also a new-ish flag you can add for better perf
a
Nice @Colton Idle curious what the flag is.
t
@Anonymike it's planned. Getting a second hand iphone 13 in a few weeks. Meanwhile I depend on simulators and testers... It sucks.
What flag? It sounds interesting indeed @Colton Idle
a
Totally understand my friend. Its helped us get a hold of some more unusual devices we had to deal with as well.
💯 1
t
Btw, could you confirm that cmp supports iOS 13?
a
Wish it was easier to build and share a communal pool of test devices. I may have to work on that at some point lol.
➕ 1
t
Yes I hear people saying simulators are enough for them but I feel like the best way to test an app is with a real device. I cannot test vibrations on sims for one...
c
I'm trying to find it from @John O'Reilly s twitter, but can't find it from search. John do you remember what that flag was?
also. ios13 was from 2019. are you sure that's what you're talking about? or are you talking about iphone 13?
t
@Colton Idle yes I'm asking cos I got an unrelated complaint that my app requires iOS 15.6+ so I was considering lowering the requirement but idk to which version yet. I need to ensure everything works well.
c
i dont think ive ever supported more that LATEST_OS_VERSION - 2 even for native ios apps
CleanShot 2025-09-26 at 14.16.12@2x.png
for example. we support 26, 18 and 17. That's 96% of ios devices in the past 4 years.
j
@Colton Idle is this what you were referring to https://x.com/joreilly/status/1925525797646778795 ?
a
We supported some of the 15 versions but have since moved to 16+
📝 1
c
@John O'Reilly i dont think so. it was some flag that increased performance, but ended up with a larger binary I think?
t
@Colton Idle talking about larger binary. I'm surprised the app size is ~20MB for Android vs ~73MB for iOS.
Anyway thanks for the input guys. I'll keep looking for what I can optimize. For the minimum supported version, I won't go lower than 15.
a
I wouldn't. I believe even those older devices support later versions than that. Apple does cut it off eventually but we choose pretty carefully to always cover greater than 95%
👍 1
j
d
I bears repeating that one should never do performance comparisons with Compose in Debug mode. The optimisations made in Release builds have a 'night &day' effect on Compose code, collapsing many of the otherwise heavily nested lambdas. Always performance test with Release.
t
@darkmoon_uk the comparison is made on release builds here. But based on only one iOS device unfortunately.
@John O'Reilly I've actually seen this note. I mentioned binary size but in my case, it seems I have performance issues so it looks like this option will just make them worse.
I'll look out for people's feedback on performances. Maybe it's a one device thing idk.
c
@John O'Reilly thats the one. i guess i got the perf portion mixed up. lol
😂 1