So you keep hearing about PWA's. Or progressive web apps. But what the hell is it? What does it even mean? SPA's are clear, a single page application, the term defines what it is very clearly. But it's not that easy with PWA's.
You do what every sane person does when they don't know something. You google it. And the first result is from google itself. Now you will know for sure what it is. You click it, and you start reading it.
A new way to deliver amazing user experiences on the web.
Ok, sounds promising... ?
Progressive Web Apps are user experiences that have the reach of the web, and are:
User experiences that have the reach of the web. I don't think anyone knows what that actually means. 😵
Reliable - Load instantly and never show the downasaur, even in uncertain network conditions.
Ok, now we are getting somewhere. So we got new capabilities to react to changing network conditions. That's good. Maybe this will be more clear than I thought, just a bad name and a bad intro?
Fast - Respond quickly to user interactions with silky smooth animations and no janky scrolling.
🤪🤪🤪 I have spoken too soon. Again, what does it mean? We always did this. We always aimed for fast responsive UI, and I would say we have been doing it pretty well. If you are not on a bloated website like facebook, you can see beautiful stuff. How is any of this new?
Engaging - Feel like a natural app on the device, with an immersive user experience.
... If we judged this like code, by WTF's per minute, this PWA's intro wouldn't pass a review. That's what we always aimed for. This is not new. This is not groundbreaking. Why people don't shut up about it.
In the end, the best explanation of PWA is the P letter. Progressive is defined as:
favoring or advocating progress, change, improvement, or reform, as opposed to wishing to maintain things as they are.
Essentially, it's just using a bunch of new native web capabilities in combination, to achieve vaguely defined goals. To muddy it a bit, some of the things are not that new, some actually new things are not needed for the defined goals. There's no one thing that makes your app a PWA. Or one thing that makes your app not a PWA. Just a bunch of ambiguity.
And with this series I plan to make it clear and go in depth with every single thing that lets you achieve the PWA goals.