Progressive web vs. native apps: who will own the mobile experience?

Progressive web vs. native apps: who will own the mobile experience?

Thursday March 02, 2017,

4 min Read

Recent advances in the APIs for mobile web have, in general, been enthralling, especially with WebVR and Bluetooth coming to the browser. Progressive Web Apps (PWAs) have made user experience immersive, even on the slow speed internet where the next billion internet users will be onboarded.

Early last year, Flipkart led the pack with a lite PWA version of its web app that optimised data usage and page load times and also helped in improving their overall business metrics, given that a majority of their customers access internet on 2G and are wary of data costs. Soon enough, other big players like MakeMyTrip, Zomato, and Snapdeal followed suit, significantly enhancing their mobile-web experiences. This increased adoption of the PWA route begs the question: How do Progressive Web Apps fare in comparison to native apps?

Install prompt

Whereas developers have full access to control when and where the app download smart banner is shown on the mobile website, on PWAs, browsers control when to prompt the user to install the PWA on the home screen. Controlling the install prompt is an important piece to ensure a contextual user journey when transitioning from the mobile web to the app experience. However, browsers might soon allow the PWA install prompt to be controlled by the developer. Also, Facebook Webview doesn’t support add to home screen (A2HS) or push notification opt-in.

Uninstall metrics

Uninstall ping is a key retention metric used by app developers and marketers. It helps them identify, at some level, which users have uninstalled the app and how to retarget them to get back on the native app. Unfortunately, on PWAs, it’s not possible to track uninstallations. This leaves a significant gap in the know-how of a user’s interaction with the PWA.


With native apps, it’s easy to identify the user based on GAID/IDFA information, which is then used to dynamically retarget users. For example, if the user is viewing a product/content inside the app, she can be targeted on Facebook or any other ad network through dynamic ads. In the case of PWAs, there is no way to identify the user for retargeting on ad platforms or any other channel.

iOS Support

PWAs are not supported in iOS. Any strategy solely based on PWAs will thus miss out on iOS users completely. Push notifications, A2HS, and offline access are not yet available on Safari.

Deep linking

With native apps, developers can leverage deep linking to route the user to specific content within the app. This also works across apps. For example, if the user shares content with her friend via Whatsapp, a deep link can directly open the target app and route the user directly to the content that was shared. This process can also work through the install process on both the App Store and the Play Store. However, PWAs cannot be registered to handle intents or app links, so they cannot support deep linking. Users clicking on links from re-engagements channels such as email or SMS will be routed to the browser even if they have the PWA installed. This results in an sub-optimal experience, and takes away any value that the user would have got from her investment in installing the app.

Push notification de-duping

Since there is no way to determine if the user has both the native app as well as the PWA installed, app marketers might accidently send multiple push notification to the same user. For native apps, technologies for push notifications are fairly evolved and can easily use context to provide better push notification targeting.

 Knowing this, how should I build my app?

One possibility to get the benefit of code consolidation while at the same time addressing most of these issues would be to use the mobile web lite version, wrapped in a native application using one of the many cross platform frameworks like React Native or Cordova. It will ensure an optimal mobile experience across all three platforms, i.e. mobile web, iOS native and Android native. Also, in the current scheme of things, in Android-dominant regions, it may make sense to combine the PWA and native app strategies by using PWA to give a good first-time experience to the user and then nudging him meaningfully and contextually to download the native app.

PWAs are definitely a step forward in improving the mobile web, but given the severe limitations around deep linking, controlling the install and A2HS preferences, and respecting user preferences around push notifications, PWAs are in no way a substitute for native web apps, and they may actually end up compromising or confusing the overall end user experience.

(Disclaimer: The views and opinions expressed in this article are those of the author and do not necessarily reflect the views of YourStory.)