Web surfing is called "surfing" for a reason, like channel surfing, you never have to worry about the cost of an install, there is very little barriers to moving between apps. You flip effortlessly between sites and simply hitting the back button or closing the tab ends the experience. When Google serves up a surf result, there's never any fear that a click is going to require work in the future.

That is not the case on a mobile native app. Installing an app is a promise for you to perform janitorial work in the future cleaning it up. It creates needless shitwork that the browser cache model does not impose on the user. Native apps take up permanent screen real estate and storage. I know plenty of people who eventually run out of space and then have to go on a spring cleaning adventure to delete unused stuff.

Do you have a 16gb, 32gb, or 128gb phone? You probably know and care when you buy one. But you probably don't know how big your browser cache is nor do you care (or need to).

Likewise, if you switch devices, in a browser, you do nothing. Quite literally, you can drop your Chromebook in a river, open up another, and proceed almost instantly. Does iOS backups and Handoff/Continuity deliver the same experience? No.

Web apps are ephemeral by nature. They can be cached, but they don't need permanent installation to work.

Web apps can be composed easily, because links are relatively transparent and as a web programmer you actually have to do extra work to hide links from people (and Web 1.0 made it impossible). This means connecting one app into another is a benefit, not a hindrance, and the Web was somewhat self documenting of its integration points. Deep linking in native apps is no where near advanced, and navigating between native apps with deep links is very clumsy.

Web apps also tend to support encapsulation better. It's far easier to embed a third party resource, an image asset, a gadget, a banner, than it is in any native app model. Look at the way people embed status indicators on GitHub pages, now try to find the equivalent in ANY native UI that doesn't work by just embedding a Web view.

Let me give you an example of a world simply not possible in iOS. Let's call it Augmented World. In the future, I walk around with phone, or special goggles. When I turn on the camera, any physical object in my world, any location, can have code associated with it. Perhaps I walk up to a vending machine, and the mere act of observing it, presents with me with a 3D menu overlay that lets me order or pay. Or perhaps I walk into a restaurant or cafe, and when I look at the tablet, I can see an interactive menu, perhaps even an NPC interactive hostess.

iOS today is a HUGE barrier to location based commerce. Do I want to install a new app everytime I work into a Chipotles, Five Guys, StarBucks? Why do I need one app per white-label store? And do you realize how this just doesn't scale if mobile commerce progressed to the point where every brick and mortar has a separate app? China solved this by just not using iOS, and simply using QR codes, WeChat, and Javascript/HTML embedding.

If you want any kind of ecosystem that can scale to single-use non-repetitive experiences, like the small shop, it cannot be a system which effectively bans dynamic code loading and execution.

iOS is nice for games and for certain high performance productivity apps, the same way I still run native apps on Windows for say, Overwatch, or Adobe Premiere. But native apps are overkill for something you only will use once. Android Instant is the closest thing approaching the Web for mobile that can handle these kinds of experiences.

If you want the kind of cyberspace envisioned 20 years ago in sci-fi novels, of exploring a vast, network, and teleporting into experiences effortlessly, it ain't the App Store you see in Neuromancer, or in Vinge novels.