what has gone horribly wrong is the native UIs. they are completely worthless, across all OSes - difficult to use, limited, and in general suck compared to HTML/CSS.
I've worked with all major GUI frameworks, from MFC to Qt, they all suck compared with React/Vue
For whom?
Every single web or mobile app does his own custom thing nowadays. As a user I couldn't care less how it's implemented, what I want consistency in behavior and style across the board.
It feels like this has been completely lost, even on platforms like mac where consistency used to be important.
I'd take MFC everything over random behavior if I could.
I don’t agree with this at all. I’ll take AppKit (preferably with Swift, but Obj-C is fine too) over anything web. There’s a number of reasons, but the biggest is that AppKit has an expansive set of well implemented, accessible, flexible, efficient, and ready to use widgets that are all designed to work together, and the truth is that this isn’t something you can get on the web.
Even the most complete “UI frameworks” on the web are full of holes, leaving you to build a patchwork monster out of a laundry list of third party widgets (all of which themselves are full of shortcomings and concessions) or build your own.
As an aside, this gripe isn’t exclusive to the web. It’s a problem with many others such as Windows App SDK (aka WinUI) and Flutter, among others. At least for the things I build, they’re unsuitable at best.
I would hard disagree. Give me QT to make cross-platform applications that properly manage resources, have low latency, and barely register in memory usage.
There was a cross-platform QT tool, running on macOS, Windows, and Linux, for debugging and updating the firmware for an embedded platform solution. macOS & Linux both were quick and fast to code. Windows needed more work and also an abstracted write management system because the application was bringing the OS to screeching halt while writing the debug messages to a SQLite database. The write issue was only on Windows. HTML pages / reports were being saved into the SQLite database and viewable with-in the application. This was all packed into a single file executable so nothing and to be installed, just copied to the computer and ran.
Often low-end hardware is sold in product solutions and frameworks like QT are better suited to make the end user happy with load and response time than HTML5. The only reason I find bloated frameworks being used on such hardware is because the developer only understood one programing language and one UI framework. The former developer who's job I took over jumped ship because he did not want to learn WPF and only knew WinForms.
QT, HTML5, React, WinForms, Gtk ... are all tools in a tool box and each has a proper usage. Hell, if I ever make an iPhone based application I will be learning Swift and the Apple frameworks for such a task.
I generally agree with you, but it does entirely depend on the type of application you want to make.
If you need a lot of graphical elements and customization to get a look and feel that matches what you want, then yeah, nothing really beats html/css/js for both it's flexibility and available ecosystem.
But if what you need is an application with a button that does magic things when you push it, or a text box or table that allows for customization of the text color, then all the other types of UX frameworks work just fine. You just can't expect to do something like make a pretty chart.
SwiftUI on macOS 26 still has issues but it’s finally starting to evolve into something usable. In particular it seems like the long standing performance problems are being addressed.
and yet the Telegram Desktop App, written in Qt/C++ is the only goddamn desktop messenger app that actually feels smooth and feature rich rather than the webclient wrapper abominations of everyone else that eat half a gig of ram on startup and randomly hang on searches
Ugh, opposite. CSS is the fucking worst way of laying out a UI. How many human lives have been lost to div class layout nonsense that a better system could handle directly.
Not for the user, unless I forgot that today is opposite day.
Sucks a whole lot less for users though.
I remember when people argued that because the time spent running an app was so much greater than the time spent developing it that one should be more conscientious about a user's time than a developer's.
After all, wasting a minute of time from 20 million users is 38 man-years of lost life. Doing that just to save a developer a week or a month is ethically troubling.
Of course, people also upgraded their computers a lot less frequently and you'd publish minimum machine requirements for software which probably made it easier to make such arguments as you'd also lose customers if software was slow or had minimum hardware requirements a lot of people didn't have.
That largely went out the window with web developers where users were just as likely to blame browser makers or their ISP for poor performance. Now with app developers and OS makers doing it, I guess there's just so many users at this point that losing a few with older hardware just doesn't matter.