I've never liked them from the beginning. HTTP/HTML/CSS were created for making static documents. The problem is convenience. Convenience for users, convenience for developers.
For users, now even for me, if I go to a web site to do something that seems simple and they say "do you want to download our app?" I feel my tempature rise a bit. No, I don't want to give you a foothold on my phone/computer I just want to do this simple thing this instant while downloading nothing.
The developer case is worse: platform GUI development goes from complicated to horrendous. And if you've done it for one you've done it for none of the other platforms. What was needed here was for everyone to understand MVP (model-view-presenter), implement most of their logic in model and presenter layers and then only have the V as a thin, platform-specific bit that presented the content to the user. Instead we either got Swing (a run-everywhere library that looked exactly the same everywhere and fit in nowhere) or these lowest-common-demonitor "native" frameworks which looked ok but often missed key functionality on various platforms. So they were either really ugly or really complex. And this was, IMO, a result of poor design processes: the GUI's were written such that business logic was hopelessly engangled with GUI/View code.
So the web basically gave us a kind of Swing where it did fit in. So the web became a favorite GUI framework. But it wasn't designed to be a GUI framework so it was terrible at it [1]. But still, it was perceived to be easier than native (and indeed, it had advantages: much harder to embed business logic in your view because the view is written in a completely different, non-turing-compliant language) so people were happy to use it. Including doing insane things like trying to run OpenGL in the browser so they could have 3D games there (making the browser nothing more than an app delivery mechanism) or even people asking for an OS that is just a browser.
I don't know how things will turn out, but at least if WebAssembly gets popular maybe I'll at least be spared dealing with the insult to engineering known as JavaScript.
[1] Some people don't get this. In this very thread there is someone asking why there are no "native" components like date pickers and so on...