What are they and why you should be using them?
A PWA should feel like any other app installed on a user's device. Like its native counterparts it can be installed on a device, run in a standalone window, send push notifications, access a device's geolocation services and camera (to name a few things).
The world first got a glimpse of what progressive web applications could mean to the mobile app market back in 2007 when Steve Jobs launched the first iPhone. He imagined developers being able to write web 2.0 and ajax applications that would look and behave like iPhone apps.
This was fairly groundbreaking at the time and opened up the possibility of developers outside of the iOS space being able to develop apps for the iPhone. Despite this, the idea didn’t gain much traction until around 2015 when a team at Google first coined the phrase - progressive web application.
This term was embraced by Google who went on to fully define what a PWA should be as well as publish best practises. They defined PWAs as needing to be ‘Capable’, ‘Reliable’ and ‘Installable’. In being capable, the applications should take advantage of modern APIs, the use of which is making web applications more powerful than ever. PWAs should be reliable -fast and dependable. Finally, a PWA should be installable and run in a standalone window.
Google’s PWA checklist includes the following essential criteria:
- Starts fast, stays fast
- Works in any browser
- Responsive to any screen size
- Provides a custom offline page
There are lots of benefits for developers when creating a PWA versus native apps for specific app stores. Most importantly, creating a PWA is a more streamlined process as you are only developing one application not three (web vs web.Android/iOS). PWAs can be deployed much faster than native apps - with a PWA, you are simply updating a website but with a native app you will be subject to each store's guidelines, submission and review processes. Both of these provide a significant cost saving. Additionally with a PWA, you are not reliant on the App store and your app can be found outside of the app store, in search engines for instance.
What are the benefits?
There are also lots of benefits to the user. PWAs take up considerably less space on the users device, have a negligible install time and are available offline. Quite often with native applications, the layout and functionality across devices will vary (web - app) but with a PWA, the end user is able to have a universal experience across devices and only needs to learn one application.
Whilst new APIs are coming out constantly web applications are becoming more powerful than ever. That said, there are some things that native apps can do which PWAs can’t do (...yet!). The functionality available to you within a PWA is fairly comprehensive and so the use case for ‘needing’ to develop natively is a relatively small one. One final consideration that should be made before committing to a PWA is that you won’t have visibility in the app store.
Whilst initial adoption following Job’s address in 2007 was slow, the uptake since Google coined the phrase in 2015 has been steadily increasing. They are now fairly commonplace and most of us will have used a PWA. Twitter is probably one of the most widely used and cited examples of a PWA.
Continuing the trend, 2020 saw many new PWAs from tech leaders such as Amazon, Apple and Google. It is clear that this is being adopted, not only as a cost saving exercise for small teams who don’t have the developer resource to develop natively but, by industry leaders as best practices for user experience.
It is understandable why some of the biggest names in tech are embracing PWAs, from reducing the overall development cost to removing the administrative burden that comes with publishing native apps through the individual app markets, the operational benefits of a PWA are plentiful.
Selesti is no stranger to developing PWAs (you can read about one here) and our team is ready to talk to you about your application today.