| The reason for this is that it's hard to hire native UI developers, but easy to hire web devs. Something like 90% of all new devs today learn only cloud-native backend dev or web frontend dev. The only exceptions tends to be mobile and game developers. Collectively cloud+web, mobile, and games account for like 98% of all new devs it seems. Nobody learns anything else. The web is going to become the desktop UI in the future for this reason alone. It's going to be slower and much more bloated than almost any other alternative, but it's got the critical mass of adoption behind it and that's what determines core technologies in the industry. Technical merit is a distant second or third. This is frustrating but it's not surprising to one who has studied biology and evolution. In evolution this is called "path dependence," and it's why we have weird things like a man's testicles hanging in a bag below his body. A previous evolutionary path optimized the sperm production process to run at a lower temperature than the rest of the body, so then evolution's hack for this is to put them in a bag outside the body. Ticket closed with "resolved." The pathways taken through a complex solution space determine the outcome and the outcome is often bizarre and "hacky" for this reason. The key is that it's very hard to back-track. Once a path has been taken, it's very hard to un-take it. Large industries and markets are essentially "biological," not rationally designed, so you get the same kinds of phenomena. It could be much worse. If Linux+HTML+JS had not taken over, we might have the Microsoft Enterprise Web(tm) where Visual Basic (not VB.NET, OG Visual Basic) is the main language and each service or site would require an NT license for every node and an IIS license for every web hostname. UIs might be written in ActiveX or desktop ones in Microsoft C/C++ with OLE and similar horrors. It might be just as slow and infinitely uglier and more expensive and less open. Apple would be dead and open source would much more marginalized than it is today. The net would basically be a total MS monopoly. If you didn't live through the 90s: this nearly happened. |
Sure some push for web-based solution has moved a lot of people away from desktop applications, but even before that Microsoft muddied the waters of native UI development.
Moving from User32.dll and GDI to GPU based rendering with WPF, might not have been the worst idea - and WPF is still going strong - but it's a clear cut, leaving old apps un-upgradable. So if companies need to eventually rewrite it, will they stick with desktop apps or move to "web apps"?
Unfortunately, Microsoft didn't stop there, but we've since seen a bunch of different attempts at new Windows UI libs to the point, where nobody trusts Microsoft anymore (remember Silverlight?) and everyone else is left confused by the chaos of an ecosystem.