It's like trying to build apps with a spreadsheet cells (it's actually possible, but we don't do it, thankfully) by throwing a lot of abstractions and frameworks on top of it that would hide the ugliness of the foundation layer.
Once this acknowledged, thing can start moving fast. A lot of good stuff has been developed and discovered in the web dev community, but the foundation of it is total and complete crap.
Also I believe we are in the good moment of time to build a better web, as there's virtually one major player in browser engines market and it's easier to experiement with adding support for new foundation layers (think wasm or dart vm).
But so far, no matter how much hacks web community can come up with, web apps will be predominantly associated with horrible experience, performance and quality.