I saw on the Kotlin youtube channel yesterday that...
# compose-ios
s
I saw on the Kotlin youtube channel yesterday that McDonalds have moved over to Kotlin Multiplatform. It actually makes me sad because I opened the McDonalds iOS app last week on my iPhone 16 Pro, and I was just thinking about how terrible the experience has gotten compared to 6-12 months ago on iOS. It's VERY laggy every time a screen is reloaded. Especially while scrolling content. It's not a little worse, it's way worse. Massive jank, where they miss 10+ frames is easily repeatable just by moving between screens and scrolling. I'm sure they are doing things that can improve performance, but this is not a glowing endorsement for KMP.
d
KMP isn’t necessarily the issue. They may be using Compose Multiplatform for the UI.
j
I don't think they are yet (using CMP)
s
Oh, I assumed they were using CMP. Otherwise, anything they are doing can just be in a background thread.
j
I thought they were using flutter
s
Nope -

https://www.youtube.com/watch?v=6bCZEYTq5Eg

They have to be using Compose MP.
j
Or KMP with SwiftUI/Compose?
s
I dunno. All I know is that it's terrible. Shockingly terrible, and it hasn't always been this bad.
j
I didn't hear/see any mention of CMP in the McDonalds app in the video posted above. On JetBrains's KMP C*ase Studies* page they mention that McDonalds uses KMP for both IOS & Android but don't make mention Compose Multiplatform like they do for other companies ex (Bitkey by Block, Instabee, Wrike, Feres). There is also an attached Medium blog post about McDonalds multiplatform development and it includes the following quote:
The adoption of a responsive, native user interface for the Global Mobile App is enabling McDonald’s to build a codebase that can be shared across multiple platforms, removing the need for codebase redundancies.
I suspect the McDonalds iOS app's UI is built using native toolkit i.e. Swift UI/UIKit.
s
Just tried the android app. The Android app is super smooth. There were bugs / small issues, but performance wasn't one of them.
j
Note that they were already using KMP early in 2023, so I wouldn't suspect that to have anything to do with it (in general anyway as well) https://medium.com/mcdonalds-technical-blog/mobile-multiplatform-development-at-mcdonalds-3b72c8d44ebc (May 2023)