top | item 40688691

(no title)

m0zzie | 1 year ago

Compose multiplatform is the future. I've used Flutter extensively but I created my first Compose Desktop app about 2 years ago and haven't looked back. Everything was alpha back then, and the tooling was only okay, but it is quite an impressive dev experience now, and there are two huge advantages over Flutter:

- it is truly native, in the sense I can directly talk to native APIs on each platform without going through bridging code and there's no special runtime

- Kotlin exists outside of Compose Multiplatform. I love Dart as a language, but the reality is it is irrelevant outside of Flutter. Due to Kotlin gaining some popularity across various platforms and domains, it has an advantage that people who already know the language will decide they want to try Compose Multiplatform, because it's low risk and low effort to try it out

discuss

order

mraleph|1 year ago

> - it is truly native, in the sense I can directly talk to native APIs on each platform without going through bridging code and there's no special runtime

I thought Compose Desktop is running on JVM an renders through Swing/AWT? Did this change?

m0zzie|1 year ago

You are correct, that part of my comment was more a feature Kotlin multiplatform which Compose is built on top of. When building with Compose it has been a really nice experience to just call out to Foundation APIs on iOS in the same way I can from Swift, which has been the most impressive part to me. In Compose for Desktop apps you use JNA for native access IIRC. Kotlin multiplatform itself can compile natively to macOS, Windows and Linux without JVM, but you'd be running in a separate process to your Compose app which is JVM based on desktop.

Apologies my original comment was unclear on that.