5 ms·
I find Kotlin Multiplatform to be far and away a better experience than flutter
by yk09123 9mo ago
I find Kotlin Multiplatform to be far and away a better experience than flutter
- wiseowise 9mo agoIn what way? It’s an unfinished, hot garbage bolted on top of Gradle. Flutter is light years ahead in terms of polish and development experience.
- palata 9mo agoI think you're confused. It's not "something on top of Gradle". For instance to run on in Swift on iOS, it has to compile to native, and then it wraps it in a C interface and finally in a Swift interface. This has absolutely nothing to do with Gradle.
- wiseowise 9mo ago> For instance to run on in Swift on iOS, it has to compile to native, and then it wraps it in a C interface and finally in a Swift interface. This has absolutely nothing to do with Gradle. And what exactly orchestrates the process of compilation (invoking Kotlin compiler + fetching dependencies)?
- palata 9mo agoWhatever you want, really. The default just happens to be Gradle because that's the default on Android. My point is that the fundamental difference between Flutter and KMP is not at all Gradle. Last time I checked, Flutter was relying on messaging. KMP leverages FFIs. Flutter is a framework, KMP is not. If all you see is the command line you invoke to run the build, I think you're missing a lot.
- websiteapi 9mo agoKotlin Multiplatform does seem pretty appealing, but haven't looked into it very much
- flax 9mo agoCould you explain why? I have been interested, in theory, in Kotlin Multiplatform. But I'm already very comfortable in Dart and Flutter. I have decades of experience with Java, Javascript, and quite a few years with Typescript. Kotlin feels like a different kind of language, one I find grating. I think this is primarily aesthetic, but it's still enough to make getting over the initial hump annoying. As petty as it is, I think the lack of statement-terminating semicolons is a major reason I do not like it. I would welcome a factual list of things that make the KM experience better for you.
- BoorishBears 9mo agoFunny you say that since Dart is the primary reason most people I know don't want to use Flutter. There's been a trend of improved DX for languages used in app development: ObjC -> Swift Java -> Kotlin Javascript -> Typescript ...Dart feels like the before with no after, even though it got traction in the era of the Afters.
- vips7L 9mo agoDarts pretty good. It has a lot of modern features, nullable types, pattern matching, sum types, and factory constructors; some really good build tooling. It can compile fully AoT.
- saagarjha 9mo agoIt’s not very good if you’re comparing it against Kotlin or Swift though.
- satvikpendem 9mo agoEh, it's getting there, slowly at first but more rapidly now. It now got tearoffs, I explained in another comment but > if you have an `enum Color { red, blue }` and a function takes `Color`, you can just do `f(.red)` not `f(Color.red)` Dart is getting new features pretty fast, they really started focusing on the DX more after Dart 2 and now especially after Dart 3. Macros were supposed to ship but it was incompatible with the goals of fast compilation, so other sorts of smaller features will ship instead.
- cageface 9mo agoThe last time I looked at it was far less mature on non-Android platforms than Flutter. Has that changed?
- crowbahr 9mo agoFlutter has been abandoned by all the large companies - Google is throwing their weight in on KMP and has laid off the flutter teams.
- websiteapi 9mo agoI heard of the flutter layoffs, but my understand is that it was unrelated to KMP. fwiw google still uses flutter
- cageface 9mo agoThis is a large exaggeration. There are still a lot of people working on Flutter at Google and large companies continue to adopt it. Google's wildly popular NotebookLM is a recently released Flutter app, for example.
- satvikpendem 9mo agoThis is completely incorrect. Large companies like Canonical are all in on Flutter even now, they're making it the default for desktop UI development in Ubuntu and are writing a lot of their own apps in Flutter. The "layoffs" were not any of the core team, it was just an offshoring, of infrastructure devs at Google that happened to work on Flutter builds, to Europe where they rehired for the same positions there.
- mdhb 9mo agoJust straight up making shit up here. WTF are you talking about?
- palata 9mo agoGoogle Workspace has been moving to KMP. They said at KotlinConf that it has replaced their decade-old transpiler from Java to ObjC, which is very impressive.
- satvikpendem 9mo agoThat's funny, I found it the exact opposite, not the least of which is that it requires a JetBrains IDE to even run it. VSCode or neovim with Flutter and really most every other UI framework like React (and Native) work great. Regarding KMP specifically, I didn't find it much use to only write business logic in one language, while still having to rewrite the UI up to 6 times (mobile, web, desktop), I'd rather have everything all in one. Compose Multiplatform looks promising as it's Flutter-like in that it renders its own UI but it's still quite early, I know they say it's "stable" but when I used it, it really didn't seem so, plus the package support is extremely lacking compared to Flutter and of course the behemoth that is React (and Native)'s npm. These days I'm looking forward to Dioxus, they're making their own native renderer similar to Flutter but especially for web, they are not doing the canvas trick, because they actually use plain HTML and CSS as their markup languages so they can compile directly to browser standards sites while still having a non-webview experience on mobile and desktop.