I read an interesting article a few days ago on the idea of building web apps “progressively”, in that they take on more characteristics of native apps but still retain the flexibility and reach of the web. The key differentiation is that these “native features” – notification support, home screen icons, going from a window with browser chrome to full-screen – can be progressively activated. The transformation from a “mere” webpage to a full-blown app becomes a gradual process adapted to actual usage.
But the strengths of the web lie in its openness and link-ability. The key is the Universal Resource Locator, or URL; a string can identify a unique part of the system and can be universally understood. Through the decades of the web, we’ve used this string to encapsulate everything from ownership to industry to category to application state. App links exist, but they’re proprietary to either the specific mobile operating system1, or to a constellation of apps that share in that link structure.
The main things missing from this ideal are the frameworks and conventions that make progressive web apps possible.
And one step removed are defined hooks for apps, e.g., Android intents and iOS app extensions.↩