Native UI is effectively dead outside of Apple’s platforms, and even there it’s hanging on for dear life. HTML, CSS and JavaScript won the cross platform toolkit battle.
Native UI is effectively dead outside of Apple’s platforms, and even there it’s hanging on for dear life. HTML, CSS and JavaScript won the cross platform toolkit battle.
Sadly yes. And all the platforms are to blame. Microsoft and their 1000 half-working frameworks made writing a wrapper that was any better than wxWidgets impossible.
But also Apple "totally not deprecating" AppKit and pushing everyone to the mess that is SwiftUI, Gnome breaking backwards compatibility as a sport, and Qt messing around with QML, meant "native UI" became quicksand.
Even going HTML, CSS and JavaScript wouldn't be too bad if the browser engines provided by the OSes were any good, but it took Microsoft giving up and switching to rebranded Chromium as a browser for Windows to provide a usable one in WebView 2.
WebKitGTK is also terrible compared to the macOS version of WebKit, which hurts projects like Wails and Tauri. So everyone bundles a freaking copy of Chromium with their applications.
I should have studied mechanical engineering.
On the Apple side of things, AppKit and UIKit work as well as they always did, and they’ve been less pushy about SwiftUI lately probably because they realized that the old toolkits aren’t going away any time soon.
For Qt, the hard-coupling of C++ or Python for Widgets and Quick being JS-centric haven’t done it any favors. C++ and Python are fine, but not everybody wants to write either, and most people interested in writing JS are going to gravitate towards front end web stacks over anything else.
I think that for a cross platform desktop UI toolkit to see any degree of long term success, a high degree of bindability is non-optional even if it’s most capable when used with its native language. The toolkit needs to meet developers where they are, and that means being usable in the language of their choice.
The most important thing the web standards get right is their insistence on never ever breaking backwards compatibility. HTML, CSS, and JS accumulate a lot of cruft, but they do move forward into the future without leaving anyone behind.
Flash was a web standard, albeit a closed one. Good luck opening a site with it today.
The web has continually added and removed features. It is absolutely not perfectly backward compatible. It’s not even close.
Flash was never a web standard, what are you talking about? It was a commercial browser plugin developed by Macromedia and later Adobe.
True, and at one point it had an installed base of like 90% of all browsers, and was incredibly common on all kinds of websites.
I said it was a closed standard, and I stand by that.
> The most important thing the web standards get right is their insistence on never ever breaking backwards compatibility. HTML, CSS, and JS accumulate a lot of cruft, but they do move forward into the future without leaving anyone behind.
This is the comment you originally responded to. Flash never had anything to do with web standards, which do indeed strive for backwards compatibility, it's why that classic space jam website still works.
The comment was not that the "web" as a whole strives for backwards compatibility. If that were the case we would also be running ActiveX controls and Java web applets.
They only won because developers stopped giving a shit about anything except their own ease of work. There's no such thing as a good UI built with web tech, so anyone who cares about the user's experience will use a native toolkit despite the difficulties. But very few do, turns out.
That's extremely uncharitable. I think slack and discord have pretty great UIs, and that's all "web tech." Figma just IPO'd at a $58 billion valuation - is that not proof their UI is good? If it wasn't good, no one would use it. VS code became the preeminent text editor and IDE over the last decade - all web tech.
Not sure about others but VS Code and Discord are slow and eating too much RAM for what they do.
Does that matter? The UI is great. Hordes of people agree.
Doing alright on Android as well, and third party on Windows for those willing to go with Qt,VCL, FireMonkey, Avalonia,...
Microsoft is the bad one here, unfortunately.