Hacker News new | ask | show | jobs
by _the_inflator 877 days ago
Thanks for the good reads and your TLDR.

I believe there are very good reasons to design Flutter as it is and I don’t want to denigrate it. I think it is awesome work.

It is just that Swift feels extremely elegant and well-shaped, like a Domain Specific Language, and it didn’t feel this in the beginning. It evolved and did a great job.

Maybe like Java and Kotlin. I like Java after all, however I enjoy Kotlin the way I enjoyed Groovy.

BTW: Hixie, tech lead for Flutter, is my man. Dude was instrumental in establishing HTML5.

1 comments

Actually, check out this comment [0] I made in another thread that was recently posted (copy pasted below), it's about Compose Multiplatform in Kotlin, it seems to be an upcoming Flutter competitor. It's pretty intriuging as I was initially using Flutter because I didn't want to have different apps for each platform, but it seems like with CM, it can do the same thing as Flutter but with more advantages, as I wrote of below.

[0] https://reddit.com/r/FlutterDev/comments/1afeo2r/has_anyone_...

---

Something I thought was really interesting in Compose Multiplatform is that you can transparently use both platform views and CM views together in a way that I haven't seen in Flutter.

I just watched that video [0] as well and I wanted to highlight a few interesting concepts there. Check out the timestamp 41:37 where they talk about the above interoperability. They have an example of a messenger app where the messages are in CM while the text input box is in Swift, so that this ensures that you are not reimplementing the native text editing controls as Flutter does, so I see that as a clear advantage for specific things like that. I don't believe that is quite possible in Flutter, or am I mistaken?

Also see timestamp 51:23 where they talk about graceful decomposition where if you decide to remove CM, you are left with a regular Android app as CM is backwards compatible with Jetpack Compose. It looks like CM can both paint to the screen but also fall back to using pure native Android components.

The way the architecture of CM is set up seems to make CM quite robust. Initially, I wrote off Kotlin Multiplatform because I thought, what's the point of sharing business logic in Kotlin if I still have to write the UI twice for mobile, not to mention for the other platforms like web and desktop. But now with CM, it looks like they're directly addressing Flutter to the point of taking a lot of concepts from it like you mentioned, like painting pixels on the screen (but optionally falling back to native views), or using WASM and canvas for the web which is exactly what Flutter Web does too.

I use Flutter quite a bit but it seems like Compose Multiplatform might be the future, or at least a big competitor, due to Google focusing more on Android dev and the whole Kotlin ecosystem in the past few years, it seems. The only con right now seems to be that CM is way less mature than Flutter, which really reminds me of where Flutter was several years ago.

[0] https://www.youtube.com/watch?v=IGuVIRZzVTk

Compose Multiplatform - I already starred it on Github but forgot about it.

Nice recommendation. Only by looking at the video do I feel that it appeals more to me and my needs than Flutter.

CM for iOS is still in Alpha.

It's nice but looking into it more, seems like lots of people are having issues getting it working [0]. It's definitely not as smooth as Flutter but that's how alpha software is, I suppose.

[0] https://reddit.com/r/androiddev/comments/19em0d3/multiplatfo...