I’ve been playing with ideas in terms of writing about some Progressive Web App guidelines at one point in the future, but I thought I’d first tackle what a Progressive Web App really is, especially since it’s a topic which has come up more than once in Front End interview sessions I’ve recently been participating in.
So what is this Progressive Web App madness everyone seems to be talking about these days? Well, here’s what Google says about it:
Progressive Web Apps are user experiences that have the reach of the web, and are:
- Reliable – Load instantly and never show the downasaur, even in uncertain network conditions.
- Fast – Respond quickly to user interactions with silky smooth animations and no janky scrolling.
- Engaging – Feel like a natural app on the device, with an immersive user experience.
While those characteristics add up to a definition which definitely sounds good and detailed enough, it can still be perceived as a little vague. Because to begin with, aren’t all our web apps (or shouldn’t they be) reliable, fast and engaging? Does that mean that we’ve been building Progressive Web Apps since the beginning of time, without even knowing it, and are now just settling on a name for what an app should encompass?
To me, it all comes down to quality. The quality of Progressive Web Apps is of such degree that they are perceived as native apps, without the tradeoffs that native apps may bring along: programming language restrictions, Play Store and App Store rules and limitations, lengthy app update cycles, etc.
Some more detailed characteristics of Progressive Web Apps below:
- Progressive and Responsive: they work for every user, regardless of browser, device, operating system, geographical location.
- Native-like: they feel like apps because they work like apps, supporting app-style interactions and navigation.
- Connectivity-independent and Up-to-Date: they use service workers to work offline or on low-quality networks, and to always be up-to-date with their latest app updates.
- Easy to Install: they do not require complex installation, can be shared via links and added to users’ home screens with the least amount of effort.
That’s about it! We’ll get into the specifics of building a Progressive Web App in future posts, but for now, happy Friday everyone, whether it’s Progressive-Web-App-themed or not!