This article is in continuation with my previous article on Mobile Web vs Native App, its very clear that mobile web get more number of new visits when comparing to installing new apps. But due to web apps reliability in slow network and low in engagement users churn out quickly.
In this article we will be seeing why we need PWA and how it helps web application to be Reliable, Fast and engage users like native apps.
Lets start with what wrong is native app,
- High cost involved in building and delivering individual native apps
- Difficultly in sharing the information to outside world.
- Reaching to larger audience by SEO is not possible
- Cost in getting a user to install your app is high(acquisition cost)
Whats wrong with web app,
- Apps reliability due to slow mobile network
- User experience like smoothness, animation
- Offline access
- Low in engagement(no push notification)
- No access to device hardware
- Combines best of the web and best of the apps
- Reliable and loads quickly as native web app, but delivered through the web
- They roll and animate smoothly, they can engage users via push notification
- They are integrated as part of mobile home screen and can be loaded as top level full screen app
- PWA helps mobile web in achieving native apps capability
How PWA works, technologies used to build a full fledged progressive web applications are,
- App Shell architecture (Loads Instantly)
- Https (Security)
- Service Worker (Caching)
- Web App manifest (Visibility)
A service worker is script that runs in background, separate from that of your web page. Service worker can intercept a network request made for a page and returns a response retrieved from the server or retrieved from local cache. It helps in caching your app shell and data, so that the app can work in online as well as offline making reliable and smooth user experience. If you are interested in lifecycle of service worker click here.
The Web App manifest is a metadata defined as JSON file which gives ability for the developer to save a sites’s bookmark to users home screen. It has unique icon and name so that users can add a visibility of your app to their home screen like native app icon. This also includes things like splash screen, theme color, display mode, orientation etc., to make better appearance in launching your app.