For all their excellent qualities, native apps can't replace the Web platform; and Web apps must resist warping the platform too far in an effort to be like the natives.
The former editor of the HTML5 spec, Ian Hickson, posted a brief piece on Google+, laying out what it would take to replace the Web as a platform. What is the necessary and sufficient list of characteristics that has allowed the Web to become ubiquitous? According to Hickson, they are five:
Hickson lists the projects that have attempted or are attempting to supplant the Web platform. The record is not pretty. Paraphrasing from his post:
Microsoft's .NET only did 4. XHTML2 and XForms only did 1. and 3. The Semantic Web so far has only done 1., 2., and 3. Adobe Flash and Adobe Air didn't manage any of 1.-5. Java didn't manage any of 1.-5.
There is an extensive thread of thoughtful comments attached to Hickson's post, but none end up convincingly extending his list of the requirements for doing better than the Web platform, or arguing successfully that any other platform has come close to doing so.
Web app mistakes
While the Web may be irreplaceable at the present time, that doesn't mean it has not been under strain from the rise of walled-garden app environments, iOS and Android in particular. The Web was developed as a data and a content platform on which documents could be built. It is somewhat remarkable that the platform has achieved extension sufficient to support Web apps, in addition to Web documents.
Mike Davies has a long and detailed post on the various ways the Web platform has been mishandled and misused in the past -- and right up to the current day -- in pursuit of better coverage for Web apps.
He goes through the history of SproutCore (2008), on which Apple's late, unlamented Mobile Me was built; Bespin (2010), which essentially tried to re-implement the browser inside HTML5's canvas element; and the recent spate of Hash Bang URL Web applications (2011), of which the "New Twitter" was a leading example, and not in a good way.
Davies's conclusion is that any technology or wannabe platform that strays too far from Web development best practices will eventually be forced to come back around to them. For example, "All high-quality and efficient Web development paths go through the forest of progressive enhancement eventually." These best practices Davies enumerates as "a separation of concerns (for stability), progressive enhancement (for wide device compatibility), graceful degradation (for robustness), [and] accessibility (as an extreme usability utility)."
Other technologies provide superior experiences in certain points of the territory the Web covers: a mobile screen, a game console, a printed document. The Web is the only platform that stretches to cover them all, and for better or worse, the Web and its descendants will be with us for a long time to come. Let's use it well and wisely.