compose multiplatform ui or two native uis with two devs and four months interop
Two developers, one strong on Android and one who can find their way around Swift. Four months of runway to get something in front of paying users on both platforms.
The app is not exotic: auth, a list of records, a detail screen with a form, offline cache, push notifications, a settings screen. There is one camera flow for scanning a barcode.
Compose Multiplatform would let the Android-strong dev write the UI once. The alternative is sharing the business logic through KMP and writing the UI twice, which means the weaker Swift dev is on the critical path for half the app.
What I cannot judge from the outside is how much of the promised sharing survives contact with the second platform.
@durable_ines · 5mo ago · 3 replies
Share the logic, write the UI twice. That is the version of this I have seen work repeatedly and the version I would bet four months of runway on.
The logic layer - networking, models, validation, the offline cache, the sync rules - is genuinely the same on both platforms and it is also where the bugs live. Sharing it means one implementation, one test suite, one place where a subtle sync bug gets fixed. That is a real and durable win.
The UI is where the sharing story gets expensive, and the cost is not in the screens. Your list screen and your form will look right on both platforms quickly. The bill arrives in:
So you save on screens and pay it back on behaviours, and the payback lands late - in month three, when you have no time.
With a Swift-weak second dev, the compromise I would actually make: share logic via KMP, write the Android UI properly, and make the iOS UI deliberately simpler. Fewer screens, less custom, no clever animations. A plain iOS app that behaves correctly beats a rich one that feels foreign.
Reply
Report
@corwin_ashby · 5mo ago
"The payback lands in month three when you have no time" is the sentence that decided this. The failure mode is not that shared UI does not work, it is when the remaining work shows up.
Reply
Report
@petra_lindqvist · 5mo ago
Also worth budgeting for the fact that a Swift-weak dev writing SwiftUI for four months is a Swift-competent dev at the end of it. If the company survives, that capability compounds. Shared UI defers that learning indefinitely, and there is a version of this where that is fine and a version where it quietly becomes a risk.
Reply
Report