top | item 43961817

(no title)

jurmous | 9 months ago

I prefer the Kotlin route. It is also supported by a foundation of multiple companies which includes Google and Kotlin is the native language for Android. It supports more targets already for years with Kotlin Native. And recently the Compose iOS target became stable with 1.8 enabling cross platform UI development. It is easier to integrate with native components.

https://blog.jetbrains.com/kotlin/2025/05/compose-multiplatf...

Also the web stack (incl Wasm) got some big updates.

https://blog.jetbrains.com/kotlin/2025/05/present-and-future...

Why would Google still invest in Flutter and Dart when Kotlin is becoming this versatile?

Are there long term advantages with Dart which I am missing?

discuss

order

jillesvangurp|9 months ago

Dart/flutter of course predates a lot of this stuff. But the point is that Kotlin and Kotlin multiplatform are things that happened to Google that they ended up endorsing and embracing (to their credit).

When they were digging in with the Oracle lawsuit, their Android Java support fell behind a bit. And then Kotlin showed up as a drop in replacement and quickly became the default for a lot of Android development. It was so obviously nicer than Java 1.6 that many Android developers didn't bother waiting for kotlin 1.0 to be released even. Java support was eventually upgraded for Android but that took a while. Google made endorsing Kotlin official many years ago. Kotlin is now the preferred language for Android development. And while Java is still supported, using it is probably a mistake for new applications as Java API support increasingly an afterthought in both Android SDKs and the wider library ecosystem.

Google also pushed Flutter as a completely new way of doing UI and targeted it at a completely new OS (Fuchsia) that would replace Android. That never happened and Fuchsia is basically still around on life support but otherwise not going anywhere. Meanwhile, Flutter seems well liked by some but it's also a bit a weird techstack with its own language and compiler and fairly limited integration options. In short that whole techstack seems increasingly a bit of a dead end.

And crucially, Google has always pushed back on the notion of building any support for Kotlin around flutter, which was an obvious thing to start doing years ago. There are some weak arguments about native compilation here. But Java/kotlin were always compiled ahead of time on Android. So, I expect that the dominant arguments here were non technical and boil down to not invented here syndrome.

And now kotlin multiplatform (endorsed last year by Google) and compose multi platform are there. Compose multiplatform is interesting because it extends Google's own framework to other platforms (IOS, Web, Desktop). That has been an obvious thing to work on for a while but Google didn't want to go there because it had Flutter. But now Jetbrains has done it for them. The multiplatform support on IOS is getting quite nice. Native compilation, easy bindings between kotlin and swift code (both ways), etc.

It will be interesting to see if Google rallies behind compose multiplatform as well. IMHO they should and it's an opportunity to get a bit of control over IOS development and wrestle that away from Apple.

pjmlp|9 months ago

That usual Kotlin narrative keeps forgetting that Android Studio, Gradle, and Kotlin itself are built and depend on, Java based technologies, and there is no Kotlin without Java ecosystem, unless JetBrains ends up releasing a Kotlin Virtual Machine, and rewriting all the Android development stack on top of it.

Additionally, to prove this point even further, as the Java ecosystem keeps moving along happily, despite the anti-Java jabs typical among Android developers playing with Kotlin, ungrateful for its origins, the Android team was obligied to make ART upgradable via Play Store, and update its Java language support all the way up to Java 17 LTS, so that Android developers could still make use of Java libraries on Maven Central, that have moved beyond Java 8.

You should also have a look at Jake Wharton interviews regarding on how the Android team looked up on Flutter, Compose was pratically started as counter movent from the team, there might even still exist on Twitter some of his comments on the subject.

zt64|9 months ago

I also agree, supporting both tools seems unnecessary. In my experiences Kotlin multiplatform and compose multiplatform is vastly more enjoyable to write instead of Dart. The development environment alone has also been much easier to get started with using Kotlin multiplatform.

lawgimenez|9 months ago

With Android’s frequent releases starting this year, I doubt Flutter can keep up.

https://android-developers.googleblog.com/2024/10/android-sd...

mdhb|9 months ago

Flutter have been doing quarterly releases for years I think they are going to be fine, I don’t think Android doing 2 releases in a year is going to present any kind of problems whatsoever for them.