| I think the author's points are very valid. Despite the continuous debate and ever shifting landscape of what is fashionable in web development (which I find very tiresome to keep track off), most web apps pale in comparison to native apps. Why is that? Whatever it is, it seems elusive for web developers to come close in quality and experience. And they seem stuck in endless iterations of "maybe this will work ... nope". And of course with web assembly, you can actually replicate a lot of that native experience in a browser and even run very slick 3D games or emulators running entire desktop operating systems. So, it's not necessarily true that browsers are not technically able to do a better job because they clearly are. It's just that web developers and web developer tool makers are just not doing a great job leveraging those capabilities judging from most popular web apps. My personal observation as somebody who focuses on backend mostly but also needs to worry about having a decent frontend for that backend is that we are being limited by an industry that is perpetually suffering from maturity issues. Both at the technical and personal level (I agree with the author on this). A lot of the technologies and tools are simply not great when compared to native app tooling and they only compare to each other. So, you get these elm, angular, vue, react, etc. proponents each arguing how their preferred thing is better than the other thing and why. What they should be debating is the huge gap with native apps that none of them come close to bridging and why that gap fundamentally is still a thing in 2022. Why do people have to reinvent so many wheels to build a simple web app? And why is delivering a slick web app experience such an elusive goal? The future is 25 years ago when any idiot with an MBA could open up Visual Basic, Delphi or whatever and click together a working native app in an hour or so. A lot of really bad enterprise software was created that way. But nothing similarly usable ever really got popular for the web and I'd argue using most enterprise web apps is a similarly dreary and miserable experience as it was a quarter of a century ago. It's gotten harder to build those but they still suck. Mobile developers have had visual UI tools like that available all along even though many would prefer not using those. But in terms of the underlying component frameworks, mobile development is a lot more similar to how Delphi and VB worked 25 years ago than modern react development. IMHO, those component frameworks are a key reason people like the "native" experience. The web based equivalent component frameworks (there are many) are just a lot hackier, messier and ux challenged. Ironically, with Blazor, you can target the web and get your good old VB code to run in a browser. Not sure if that's the future but it sure seems to work. Again, the problem is not browser limitations but tools. If MS can target browsers with their decades old tools, web developers can raise the ambition level a lot more as well. Why don't they? Apple and Google have a stake in the current status quo of the web sucking more than their mobile walled gardens. So don't look to them for answers. |
Also, I think part of the reason you often see lower quality web apps (including the underlying tech) is because the barrier to entry is much lower than with native. If we improve the tooling around web tech, the average person can produce higher quality web apps. As it is now, I agree native generally comes with a better experience, but I see no reason why it can't be eventually matched on the web.