If you haven’t heard the term ‘Progressive Web App” you’ll soon be hearing it a lot. Though the term is being used by different people to mean slightly different things, here are the basic characteristics.
‘Progressive’ means they use lowest common denominator technology to function under harsh conditions, on older devices, or offline when there's low bandwidth or connectivity.
‘Apps' means they don't just display content, like websites, they perform tasks, like creating a to-do list or filing your tax return.
Here’s why I believe this combination of features makes Progressive Web Apps a virtually unstoppable force.
1. No barrier to user entry
One of the lasting usability problems in native App ecosystems is the friction of app installation. Even at it's best, finding and downloading an app still takes time and mental effort, which translates into lower app adoption rates across the board. Progressive Web Apps load immediately, like a website, and then offer the immediacy of an app with icon on your home screen.
2. Develop once, publish everywhere
Worst case you are actually writing code per-platform, but even with cross-platform dev tools that compile down to native code, you still have to maintain and debug multiple codebases. You can't beat the simplicity of a single development workflow.
3. Tear down the garden walls
Users don't have to wait or worry if an app will be released for their device”. Releasing once is releasing for all devices and all users.
5. Everything users expect from a native app
Progressive Web Apps can: authenticate users in the background, store user data on the device, work offline, control the phone, camera, etc. While the quality of the experience is not yet *exactly* equivalent to native, it will be very soon.
I don't think it's an overstatement to predict that this trend will spawn a new "universal" app ecosystem that changes everything about how we use our devices. If you are developing for the web right now, this is the place to be.