Hi All, We're just starting to investigate what t...
# multiplatform
k
Hi All, We're just starting to investigate what tech to use for a new project. it will be started from scratch so can be any new tech we want to use. our team is currently native, Android using Kotlin + Compose, IOS using Swift and Swift UI. currently our options are staying native on each, using Flutter, using React native or going all in on Kotlin. So Im trying to gain some insights as to pro's and cons of starting to use Kotlin Multiplatform and Compose Multiplatform. From our initial checks its looking like there maybe quite a lot missing from KMP right now even down to inputstreams not being supported and having to write your own version on IOS to hook into. Compose on IOS is in Beta, is there an ETA for a full release? has anyone here successfull managed a full AAA level app for Android, IOS and web using KMM/KMP/Compose Multiplatform?
b
So one thing to keep in mind is that if inputstream stuff is missing, you can use an expect/actual for that and implement it pretty easily in Kotlin, and then it just slots in the OS specific implementation. It's not really that much more work than if you'd had to write an implementation using it anyway. In terms of AAA level app, Google announced that google docs is now KMP for business logic which could be a place you start instead of also doing the UI. I can't imagine they'd take something like docs and use compose until it's out of beta on iOS/Web. That gives you the option to test the UI stuff maybe on a single screen that has less native specific functionality as well where it'll shine the most. Compose wise, it's been working exceptionally well for me but there are still hiccups given the Beta (and alpha up until a couple days ago). The JB team is really active on github addressing issues that come up.
👍 1
k
Thanks for the feedback. I think the decisions may well come down to the type of app. its going to be a very visual media rich app, my gut feeling is we'll be better off doing native android/IOS at this point, but putting in the due diligence on multiplatform tooling. Im just running through some tutorials at the mo on compose multiplatform and seems nice so far, just need to stress test it a bit.
b
Ya, type of app makes a lot of sense as well. The more you delve into needing a large amount of native stuff the more maybe only business logic makes sense. I'd try playing around with mixing SwiftUi/Compose in your testing and see how that works. You might be able to do something like write a really basic video player if thats part of your media rich, where the interface is all compose, but the player itself is platform specific. Trying something like that might give an idea of how complex or not that is.
👍 1