What is your opinion about this : "How's iOS compo...
# compose-ios
l
What is your opinion about this : "How's iOS compose compair to android version? Does it make your iOS app look like a Android app? Apple has their own HIG, does it help you follow those guidelines?"
c
Does it make your iOS app look like a Android app
Basically, yes. The styling on Compose for IOS uses Material for theming and widgets. While Material styling is technically just a “design language” not limited to Android (it was intentionally designed with specs for desktop apps, web, wear devices, etc), Compose for iOS does not have styling available for iOS-like HIG widgets. Compose Multiplatform redraws the entire UI on a Canvas and doesn’t bind to native UI widgets, which gives you consistent styling and behavior across all targets, but does mean that the resulting apps don’t look “native” on non-Android platforms. If you need your iOS app to use HIG widgets, Redwood by Cashapp uses the same Compose compiler and runtime, but does bind to native widgets instead of redrawing on its own Canvas. It’s still in early development and they do not recommend using it at this time, but it’s an interesting project worth keeping an eye on.
t
I struggle with the same issue sometimes, but so far I have been happy using Compose for iOS for the content portion of the UI - lists, cards, etc. and using native iOS UIKit for navigation, bottom tab bar, etc. And when I get callbacks from the compose ui via the viewmodel, i show native iOS dialogs, popups, etc. I think this is a good balance - one design for the main content area, but still the app looks mostly iOS...
l
@tylerwilson I think the same even if there is more work to do than a compose only app. So you don't share view model in your approach? At the moment I have the impression there are 20 ways to do the same thing but it's interesting 😁
t
We do share ViewModels, yes. That is one of the primary savings when using KMP.
And thin wrappers to change Flows into RxSwift Observables (or Combine if you use SwiftUI [which I avoid]).
l
Very clear 👍
i
image.png
l
You could probably use the Theming to make it look more like iOS.
t
Hoping so, intend to test some expect/actual with our custom Theme...