> Writing in a non-compiled language already puts you in a disadvantage
Both Kotlin and Swift are compiled.
> But this is just the standard I set to myself - the entire industry clearly has different priorities.
I think you just underestimate the performance of Java/Kotlin/Swift, languages that you admitted you don't have any experience with.
> tho with good debugging tools and LLMs I have found this to not be a problem anymore
Again: try modern languages with good debugging tools and LLMs :-). I think your bias is that this is all you know.
> because I've proven that it is fixable by caring about UI/UX
It requires care, which means more effort. All that for being at best similar to the native tools, but probably never exactly the same. And it cannot be better, because the native ones are the ones defining how it should be.
> I can't stretch how FUN, easy, and overall a great experience to develop with QML and C++ together, it's just HOW GUI should always been
But you said you don't have experience with the native Android/iOS way. I personally have used QML/C++, Flutter, Android (Java/Kotlin, the old XML way and the new Compose way) and SwiftUI. QML/C++ is by very far the worst.
I would advise that you try either Kotlin/Compose or Swift/SwiftUI to get an idea. You can still use C++ to share some code (say you write a complex library in C++, no need to rewrite it in Kotlin and Swift), but starting a new mobile UI with QML these days is just madness IMHO :-).
I only said that because you said performant code "does not matter for a mobile app". I think writing apps in native frameworks is awesome! I'm all for it. BTW, I've heard some reports that SwiftUI/Swift are slow[1][2][3]. Again, I haven't explored SwiftUI and Kotlin, but I'd like some day. What do you love about them so much?
> All that for being at best similar to the native tools, but probably never exactly the same. And it cannot be better, because the native ones are the ones defining how it should be.
I agree, the best apps would almost always be those written in the framework the OS provides - kinda make sense - cross platform GUIs will always fall under the lowest common denominator issue - I've written about it in my blog post[4]. You also forget tho, that Linux does exist with a growing popularity - I think it's important to target it as well (I've started GUI development because I was on Linux and most apps had horrible UI/UX).
> but starting a new mobile UI with QML these days is just madness IMHO :-)
Memory safety, for one. A whole lot of better defaults (e.g. immutability by default). Then the influence of functional programming. Nice async primitives like coroutines.
It's not just Kotlin and Swift. Rust is nice as well. Even Java has actually improved a lot over the years.
Only C++ seems to get worse over the years. It's the only mainstream language where people say "if you limit yourself to a subset of the language, it's actually decent". And every year, C++ brings new stuff that people probably shouldn't include into their "decent" subset.
> You also forget tho, that Linux does exist with a growing popularity
I have been a Linux user for 20 years, I don't forget it. My favourite UI is a CLI, and there, languages like Go or Rust now often make more sense than C++. I am hoping that good desktop GUIs will come eventually, because I absolutely hate the web-based stuff like Electron. Maybe with Compose multiplatform? I hear Flutter is decent there, too.
> I've started GUI development because I was on Linux and most apps had horrible UI/UX
Except for IDEs (I like the JetBrains ones) and browser, I don't use GUIs :-).
> Except for IDEs (I like the JetBrains ones) and browser, I don't use GUIs :-).
You said you "hope good desktop GUIs will come eventually, because I absolutely hate the web-based stuff like Electron.", so I guess you still might need to use those. I'm with you, and I'm trying to be part of the change. To be honest, I'm not very much tied to a specific programming language. If the end result is good - stable, performant, with good DX than I'm with it. For me, the current combo works. I'm willing to adapt tho. Slint has nice QML syntax for UI and logic (and the underlying framework) is written in Rust. Its author was once The Qt Company/Nokia developer if I'm not mistaken.
> stuff like Electron.", so I guess you still might need to use those
Yeah, stuff like Slack for work. But there it's a bit different: they chose Electron because it makes them more productive even though it ends up in a worse product. It's sad, but it is rational to produce crap that makes more money.
That would be a reason to use React for a mobile app, maybe. But writing a mobile app in Qt is not more productive :-). I am very convinced it costs more money and results in a worse product.
Both Kotlin and Swift are compiled.
> But this is just the standard I set to myself - the entire industry clearly has different priorities.
I think you just underestimate the performance of Java/Kotlin/Swift, languages that you admitted you don't have any experience with.
> tho with good debugging tools and LLMs I have found this to not be a problem anymore
Again: try modern languages with good debugging tools and LLMs :-). I think your bias is that this is all you know.
> because I've proven that it is fixable by caring about UI/UX
It requires care, which means more effort. All that for being at best similar to the native tools, but probably never exactly the same. And it cannot be better, because the native ones are the ones defining how it should be.
> I can't stretch how FUN, easy, and overall a great experience to develop with QML and C++ together, it's just HOW GUI should always been
But you said you don't have experience with the native Android/iOS way. I personally have used QML/C++, Flutter, Android (Java/Kotlin, the old XML way and the new Compose way) and SwiftUI. QML/C++ is by very far the worst.
I would advise that you try either Kotlin/Compose or Swift/SwiftUI to get an idea. You can still use C++ to share some code (say you write a complex library in C++, no need to rewrite it in Kotlin and Swift), but starting a new mobile UI with QML these days is just madness IMHO :-).