loading...
Cover image for Kotlin Multiplatform: Ready or Not?

Kotlin Multiplatform: Ready or Not?

piannaf profile image Justin Mancinelli Updated on ・1 min read

The results of my twitter poll are in:

Final results: already started = 44%; Ready to jump in = 21%; still a bit too early = 35%

What will it take to move from "too early" to "ready"?

If you have started, what have you built and what successes and challenges have you experienced?

If you haven't, what's holding you back?


This question also inspired a more general one: How do you know when a technology is ready?

Posted on by:

piannaf profile

Justin Mancinelli

@piannaf

Justin helps dev and product teams navigate the waters of mobile app development and is an expert at integrating them into larger technical, customer, and business ecosystems.

Discussion

markdown guide
 

The fact that Google came out with Flutter and is pushing it hard has dwindled my confidence in Kotlin Multi Platform.

As a company, we were planning to adopt it but chucked the idea after seeing how Google is actively promoting Flutter.

I know Flutter isn't for backend but we can just use a more mature tooling there like Ruby on Rails or NodeJS

 

planning to adopt it but chucked the idea after seeing how Google is actively promoting Flutter

Thank you for being transparent about that. Google definitely has been putting more money into developer relations and marketing than JetBrains is. The Android team and Flutter team are different teams with different budgets (from the outside looking in). Someone at Google wants to see how far Flutter can go, but the Android team is not slowing down with their own stuff and doubling down on their commitment to Kotlin.

I know Flutter isn't for backend but we can just use a more mature tooling there like Ruby on Rails or NodeJS

Yeah, and backend devs are no strangers to mixing technologies. Anyone using Java for backend already would probably be better served by choosing Kotlin than changing technologies. Kotlin on JVM is very mature and Kotlin is supported by many cloud services too.

One of my concerns is Flutter on iOS because I doubt Apple will work with Google and I expect Cupertino widgets will lag. Not too big of an issue if you have all custom widgets or don't worry about Material widgets on iOS, but I do think more mature or bigger scale apps will run into issues.


Thank you for your thoughts

 

I would also point out that there will be a Kotlin Multiplatform plugin for Android Studio next year that will let you run/debug iOS apps with shared code, from Android Studio. You really can't think of "Google" as a company with a single strategy. I can assure you the Chrome team would love to convince you that none of this matters because of PWAs.

Totally agree with you! I would love to see that in action and then course correct then :)

 

We have shipped iOS apps with Flutter and they work great. Never had any performance issues. We built a common UI for Android and iOS so saved a lot of time there too!

While Kotlin might be supported by hosting providers - the community, third party plugins, etc aren't so great. These matter a lot and the adoption for Flutter is wild

"Wild" I would not necessarily agree with. There's a lot of developer interest, but for anything that isn't greenfield or of a significant size, there is significant risk and pushback. That message is obviously not telegraphed by the Flutter team, but it is a common response in our experience.

However, it's not really "Kotlin vs Flutter". The Android community gets into this debate. They're quite different and will be used by totally different teams on different things. I think it'll be more Flutter vs Hybrid app (or similar). However, predicting the future is not easy. Maybe it'll all be Flutter in a few years?