There is no single universal standard by which to code apps in the true sense of the word "universal". But it is fair to say that web apps are usable on a wider range of devices than pretty much any other means. That very issue comes with a huge range of limitations and workarounds in the development process, which adds cost. Of course if your primary goal in developing that app is reaching the widest possible audience, then developing within those limitations may be the lesser of all evils. Its still an exclusive process, and web apps are not a panacea.
Indeed you focus on *your* desires. However, it is rarely so simple unless you are only ever responsible for purchasing a limited selection of apps for your own use. Most often than not in my experience, each and every company has its own set of requirements, that are often only served by a very limited selection of app development providers, so your available choices are limited, sometimes to a single provider.
User preferences can often play an exaggerated and disproportionate part of the selection process. As the gentleman made in one of his posts, responsiveness is a highly regarded factor. Maybe not for you personally, but again, in my experience, lag is unacceptable to most users unless it is a very niche app and they have no choice. Web apps, including native apps that rely on a web or 'internet' based backends often have a noticeable lag involved, simply due to factors that are outside the control of developers and users. I specifically single out the internet, as most of us have very little control or choice over our transit across the public internet as opposed to a corporate LAN where we can often, though not always, have a direct impact upon performance. Native interfaces to web apps are yet another compromise solution, and done well can provide native interface speed, and ameliorate the effects of the public internet on response times on a users experience. But then again, we move away from the nearest to universal platform.
Quote "AS to you "but it's *hard* to code for the differences in multiple browsers" whinge; Bullshit. I flat out don't buy it. It's far harder to recode native apps for every platform." May be true, but displays I believe a misplaced belief that an app needs to be available on every platform. Most don't, doing so just adds an unnecessary cost. You also underline the point that there is NO truly universal way of coding an app to reach the largest number of devices without incurring a certain amount of overhead and dealing with a number of limitations. You may want to consider that cost, man hours available and other factors decide whether it is needed for an app to be web based such as the ever moving goalposts of the development platform/language/library/paradigm which seems to shift faster online than off.
And you can never get around the fact that internet access is required for a web app to work at all (though not for apps delivered into a web browser that may operate on local data rather than remote and have some method of local persistance). You may be happy in your cosy suburbanite office with both fiber and wireless internet, and this may come as a shock, but not every app deployment has internet access. Larger corporates have departments that may "request" internet access and be denied for reasons including security and simple politics (one such springs to mind, an oil company, where the client department was denied internet access mainly due to the application in question coming embedded within the industrial machinery rather than being supplied by them which in their eyes meant they wanted nothing to do with it - end result being the department simply getting their own internet connection without any support from their IT department). Or the widely roving auditor, who travels to corners of the globe that have no internet at all, shocking as that may be to some.
So I guess what I am trying to convey, in a terribly long winded fashion for which I apologise, is, there is no one size fits all development route. If your only criteria is it must be a web app, you are doing yourself and your company/clients/whatever a disservice with a myopic view of requirements and with no consideration to factors such as cost.
"I get to do what I want. You're the vendor. Do what I say or I go elsewhere." is a short sighted, arrogant and needlessly combative viewpoint. I guess it works if you only buy generic apps and have no relationship with the developer other than parting with some cash. If that is the case, why the vitriol directed at developers?
Then you assert that native apps lock users in to an upwardly spiralling cost of ownership. What? Really? Maybe in your own experience this has happened to you. Pure conjecture here, but that may be due to a lack of groundwork on your part than any effort of the developer. The same thing could happen no matter the delivery means.
I think you already made the point, a bad developer is a bad developer. Well, an app is an app, and a platform is a platform. and a bad purchasing decision....
Hey, I got through that without once calling you a dick! :-)