Building multiplatform apps requires thinking about architecture a little differently than their single platform counterparts. Individually, each platform has their own norms and customs, filled with M's and V's and Promises, but they aren't alway a good fit to be shared with others. Often they have coupled relationships with the platforms for which they were designed that don't play nicely with others.
Over the past several months I've been migrating the Chicago Roboto app from a Kotlin first Android app to a multiplatform app, and have learned a lot about things that work well for one platform but not another, and how to make those feel a bit more native.
As I share the things I've learned with you, we'll discuss:
• Where to start the multiplatform conversion.
• Adapting native libraries
• Communicating between shared Kotlin code and native platforms
• Designing systems that non-Kotlin developers can get behind.