Hi, at my company we are looking to rework our And...
# compose-ios
a
Hi, at my company we are looking to rework our Android and iOS app and are looking into the possibilities for maybe a crossplatform solution. KMP with compose looks for us a very good solution but the only concern we have is that compose iOS is still in Beta. Is there a timeline for compose iOS?
f
You mean Compose Multiplatform?
a
Yes Compose Multiplatform
r
My guess is, that at this years KotlinConf it will be announced as "stable".
a
especially the iOS side of it
That was my guess too but I can't convince my CTO to take this.
r
If you are using Android's Compose right now, there is so much "experimental" and you wouldn't be allowed to work with it either then. 🙂 Your CTO should not be afraid or wait until May.
f
Compose for iOS is still work in progress, there is no official iOS Look&Feel for Compose iOS and the accessibility is incomplete.
🎯 1
a
is there a list of the issues that are still under construction and what not? Or should I better go with kotlin multiplatform and implement the UI with jetpack compose for Android en SwiftUI for iOS?
f
> is there a list of the issues that are still under construction and what not? Not sure if there is a list > Or should I better go with kotlin multiplatform and implement the UI with jetpack compose for Android en SwiftUI for iOS? This one is recommended way until compose is ready. You can start to work with CMP only with Android and iOS using SwiftUI/UIKit, then switch iOS to Compose when ready.
r
recommended
Where? It's up to whomever what to use. I would argue that CMP for iOS is ready.
f
Compose will be ready when it will be a good remplacement of Flutter and have these ones.
👍 1
r
If you want that you can use https://github.com/alexzhirkevich/compose-cupertino (or others)
f
Yeah, the maintainer is not active at all (and not working), someone made a fork to be up-to-date and working, it’s still unofficial.
c
Why would cupertino widget support be necessary to consider it stable, if most apps user their own design system, that is neither Material or Cupertino based
The moment you start to create an app that looks Material on Android and Cupertino on iOS is when you loose the benefit of writing it as a cross-platform app. It becomes a nightmare to maintain and find the common ground for both Design Systems
r
You could still do some stuff look like Android and some like iOS if you want, but for that
actual/expected
should be good enough. (for example some icons like sharing)
👍 2
d
The moment you start to create an app that looks Material on Android and Cupertino on iOS is when you loose the benefit of writing it as a cross-platform app.
So iOS should look like Material? I haven't looked at Kotlin Compose. Do they provide their own non-Material widgets?
c
Material widgets are built ontop of the barebones compose. You can use compose without material and that’s what we’re doing. All our widgets are custom from our design system.
👍🏻 1
👍 1
f
It just more work to do for iOS integration. An UX library like what flutter give should be available officially.
c
Most teams already have a design system, so it’s okay to just make that multiplatform to support iOS. But for indie developers or solo ones they might care about the look and feel of native widgets.
👍 1
👍🏻 1
f
UI can be totally customized and not linked to Cupertino. I’m talking about UX (dialog/modal/picker/…)
👍 1
g
Compose Multiplatform's accessibility support is a critical factor in my decision to adopt it, despite JetBrains' stability claims. The European Accessibility Act, effective June 28th (see: https://legal.pwc.de/en/news/articles/the-european-accessibility-act-an-overview-what-s-changing-and-for-whom), mandates accessibility compliance. Therefore, robust accessibility features in CMP are essential for any project targeting the EU market.
👍 2
And as @François stated, on iOS the accessibility is incomplete.
đź‘€ 1
r
What exactly is incomplete?
g
d
Oooh, I see. You're saying Compose Multiplatform is incomplete regarding accessibility on iOS. I originally read your message as saying iOS' accessibility support is incomplete.