What are Progressive Web Apps?
As the name suggests, Progressive Web App is a combination of features of web and app. It uses the modern capabilities of web and app making it very powerful, providing user friendly experience. Progressive Web Apps can be accessed via URL, are fully responsive and secure.
Image Courtesy: https://developers.google.com
Why Progressive Web Apps?
Native apps are rich in user experience but it has to be deployed through app stores. The Web apps – easy to access, but as it runs over the internet and if internet is not available, these cannot be accessed. Even though there were attempts to implement offline web apps, the attempts failed to provide solutions for complex offline app scenarios. However, the setbacks of Native and Web Apps were overcome by introduction of “Service Workers” in Progressive Web Apps that could handle every network request even when the user is offline and provide rich user experience. A rapid growth has now taken place in browsers.
The biggest gain of Progressive Web App is that if the mobile browser does not support the features of the web app, just nothing happens!! It will ignore the features of Web app and it will behave like a regular app and will redirect it to playstore to download the app – elegant fallback, isn’t it?
Image Courtesy: http://arc.applause.com/
- Feel like an app: App-style interactions and navigation are provided as it’s built on app shell model.
- Responsive: Desktop, mobile, tablet – works well in all of these.
- Easy installation: appstore is not required anymore to download app. You just open the app via browser and you get the feature “Add to Home Screen” that adds icon to the home screen of your device.
- Offline mode: Use of Service Worker code in Progressive web apps enables the web app to be used in offline mode or over low quality networks.
- Push Notifications: Push capabilities in these web apps provide native like experience to the users.
What is required for Web Apps?
For a web app to be “progressive”, the browser must implement these three things:
- Register a Service Worker: Service Worker is a powerful API that help developer build site to work offline or help speed up by obstructing the network requests to deliver cached responses. Service Workers are currently supported by Chrome and Firefox. Safari does not support Service Worker code though.
- Run on HTTPS: This is mandatory for Progressive Web Apps to prevent third party attacks.
- Create App Manifest file: JSON file where developer can specify attributes like name of the app, display (full screen, browser), orientation (portrait or landscape) etc. to display the app to outside world.
Future of Web Apps:
Will Progressive Web App gain popularity and be the king in this mobile age? This is still in question since this will have considerable impact on app business market and even the Google Store due to its hybrid features. Another setback is if your requirement need access to hardware capabilities of the device and if the mobile browser do not support those features, in that case you don’t have a choice than have to build a native/hybrid app anyway. Also, time and amount of work needed to implement progressive web apps is quite high – due to requirement of HTTPS in the API. However, since it bridges the gap between performance of web and apps, it can still provide a better solution that are fast and reliable in the modern technology world and meet user expectations.