Progressive Web Applications (PWA)
What are they?
In the plainest English way of describing a progressive web app is an application that’s built and lives on the web, but will function more and more like a native mobile application. PWAs are built and enhanced with modern APIs to deliver native-like capabilities, reliability and installability while reaching anyone, anywhere, on any device with a single codebase. They take the advantages of modern technologies to combine the best of web and mobile apps.
Difference between a native app and a PWA
A native app is an app that is downloadable through Apple’s App Store or Google’s PlayStore. These apps are often built in a platform-specific programming language ( Objective C, Swift, Kotlin, Java). If we want to build an application for both Android or IOS we need two different codebase-s which is not cheap. Progressive web apps bring the best of both worlds. They run in the browser and once saved to the home screen function like a native app.
- Fast – PWAs load extremely fast and respond quickly to user interactions
- Responsive – can fit any form factor and work with many different screen sizes
- Offline work – Progressive web apps can continue to work even when the phone isn’t connected to the internet. They use Service workers which allow the app to store things offline and manage requests to retrieve them from to local cache. This also minimizes the data the phone uses to run the app.
- Usage of phone features – PWAs can have access to some of the phones inbuilt features ( camera, GPS, voice recorder etc…)
- Easy installation – A PWA’s installation is easy, it happens in the background during the visit of the web page. They also provide home screen icons.
- Discoverability – Since PWAs are a website, they can be easily discovered through search engines
- Safe – PWA’s use the HTTPS protocol
- Re-engageable – PWA’s can use push notifications to re-engage users
- Native app-like user experience
- Lower cost of development
- One codebase – Thanks to a couple of smart additions, we can turn almost any website into a progressive web app
Both PWA and native app have their pros and cons. When choosing between developing one of them, we should consider their features and functionalities we want our app to provide. If we just want to turn our web application to a simple mobile app, we should consider a PWA otherwise if we want to create a more complex feature-packed mobile app, we should definitively go with the Native way.
Both are here to stay, and the choice between them should be made based on the goals and resources of our project.