I think what your parent comment was saying was that : 'even though web is a great solution to many problems that can be solved with software, it has its limitations'. Clearly the problems s/he mentioned are a source of pain for some users, and many of them do not exist in the native application platform. Even if those trade-offs look unreasonable to you, it may not look so to many others. If we have more data to support the statement that somehow the web is always superior to native, then this discussion can move forward. Without it we are more likely going around in circles.
Yes. By design. If a webpage can impersonate a local app, you have a serious security problem.
> They make it hard for users to load/save local data
There are good reasons for a lot of that, from denial-of-service protections, limiting stealth cookies, etc.
> They don’t interoperate with other applications on the system.
That's a feature.
> They flagrantly violate UI design conventions on every platform.
The user agent can render the page however it wants. This is a feature.
> They can’t access most local hardware devices.
Are you trying to introduce even more security problems?
> They are difficult or impossible to build proper cryptographic primitives on top of.
That's not the place you should be implementing crypo.
> Accidentally pressing the back button can destroy hours of user work.
Ok, that one would be nicer to fix, but that's a problem for the browser, and shouldn't impact the page at all.
--
If you want to develop software that uses more than the web can provide, you should choose a platform that actually provides those features. There is a trade-off, of course, but making that kind of decision is a an important part of software engineering.
While many people have been ignoring some or all of the security aspects of programming, it is important to remember that anything connected (even indirectly) to a network is under attack, so security must be considered first.