What Are Progressive Web Apps and How Are They Such A Big Deal?
The concept of apps has been there for quite a while – programs for your phones or PCs that run in their own space, periodically get updated from the service that distributes the apps and works both online and offline. PWAs or Progressive Web Apps came from Google’s garage, but is quickly adopted by Microsoft for Windows and will soon be adopted by Apple too.
The world is going mobile. Phones are always on and always connected. This makes PWAs a better option for developers. The concept of apps is getting dated gradually. Even a few years back, a lot of smartphone users were troubled by having too many apps on their phone – the constant notifications, the need to update, the need for more storage and battery. Which is also why a lot of us use the ‘lite’ versions of Facebook and Messenger on high-end phones. And in some cases, people are just satisfied in accessing the website with the browser. With apps being able to do more and more things, the app hygiene has gradually declined. This has been the problems with decade-old Win32 apps on Windows. They don’t clean up after they have done their work. Moreover, they are cumbersome to update.
For these reasons, using browsers just seemed better. Websites have become more interactive and intelligent. Many of them act and behave like they are native apps. This is what led to the creation of the Chrome OS. An operating system for people who are always online. However, since with Chrome OS did not work well offline, it failed to gain traction in the mainstream market.
Ironically, Microsoft is not the biggest proponent of PWA – at least not yet. Google defined the phrase and criteria set forth for PWA in 2015. Alex Russell, a Google Chrome engineer, wrote what is considered ground zero for the PWA movement in an article called “Progressive Web Apps: Escaping Tabs Without Losing Our Soul”. Google solidified the initiative in a dedicated page pushing the concept forward.
At this moment, Google Chrome is the only browser supporting PWAs, but Microsoft Edge will provide support soon. This is surprising that Google is making the push for PWAs even though Google does not have the app gap problem. However, this may benefit Microsoft platforms, such as Windows in the long run. Microsoft talked extensively about the long-term viability of “apps for everything” as being dated and beginning to fade. In the future, artificial intelligence, PWA, more powerful local hardware (e.g., your phone, or Windows cellular PC), cloud computing (“The Microsoft Edge”) and ubiquitous 4G data connections will take over.
So, what is a PWA?
PWA is an evolution of web wrappers. Web wrappers are basically apps that allow loading web pages in the apps, making the apps essentially stripped-down browsers. However, they lacked things like integration with the OS (e.g., notifications), synchronizing data in the background, and most importantly offline usage.
PWAs, on the other hand, feel way more native. The app shell is stored offline, but the content is online. Vanilla apps are there even when the device is offline. It shows older content even though when it is offline. But with caching, PWAs are more satisfying to use.
There are specific criteria set for what makes a PWA, and a lot of it has to do with the rise of multiple converging technologies, including:
- The abundance of low-cost, affordable, and fast 4G LTE data
- Powerful processors that can render and load data
As defined by Google the criteria for a proper PWA include:
- Progressive – Work for every user, regardless of browser choice because they’re built with progressive enhancement as a core tenet.
- Responsive – Fit any form factor: desktop, mobile, tablet, or forms yet to emerge.
- Connectivity independent – Service workers allow work offline, or on low-quality networks.
- App-like – Feel like an app for the user with app-style interactions and navigation.
- Fresh – Always up-to-date thanks to the service worker update process.
- Safe – Served via HTTPS to prevent snooping and ensure content hasn’t been tampered with.
- Discoverable – Are identifiable as “applications” thanks to W3C manifests and service worker registration scope allowing search engines to find them.
- Re-engageable – Make re-engagement easy through features like push notifications.
- Installable – Allow users to “keep” apps they find most useful on their home screen without the hassle of an app store.
- Linkable – Easily shared via a URL and do not require complex installation.
Why PWAs make it better?
The app model is changing and native apps is not a sustainable model – something for which Windows Phone suffered immensely. We no longer want to write apps separately for different platforms. For Microsoft, a company who is heavily investing on UWP or the Universal Windows Platform for its desktop and upcoming mobile OS, PWAs seem to be a reasonable bet as UWP itself build upon web technologies.
So, in the near future, you can expect apps and websites to merge into one.