Progressive Web Apps vs Native: Which to Choose and When?

Written by maxim.savonin | Published 2019/11/25
Tech Story Tags: pwa | progressivewebapp | development | tech | webdevelopment | mobiledevelopment | businesstransformation | technology

TLDR Progressive Web App is an optimized web platform to be used on a mobile device. Such an app is downloaded directly from a website and opened in a browser. Unlike a mobile application, a progressive web app is fast to load and lightweight. Progressive web apps offer full-screen experience, meaning that the user does not see the annoying browser navigation panel. When developing a PWA, you go global – you develop the app only once and it is suitable for all platforms. With a native mobile app, you will have to fight for the chance to be seen.via the TL;DR App

Cost-efficiency vs security, speed vs comfort, universality vs self-sufficiency
In the fight between mobile devices and desktops for the popularity among users worldwide, the former firmly holds a championship belt. Only in five years, from 2014 to 2019, the mobile app revenues have grown by almost five times, from 97.7 billion dollars to 461.7 billion dollars.
At the same time, the growth of the mobile market and increasing opportunities for synchronization between different platforms and devices offers abundant benefits for website owners. They give their web platforms a second life by letting users access them from mobile devices. One of these solutions is a progressive web app.

What Is a Progressive Web App?

The Progressive Web App is an optimized web platform to be used on a mobile device, a quintessence of web and mobile application, a mobile site built with JavaScript frameworks. Such an app is downloaded directly from a website and opened in a browser – no matter what it is, Safari, Chrome, Firefox, or anything else. Unlike a website customized for mobile, a progressive web app offers full-screen experience, meaning that the user does not see the annoying browser navigation panel. More than that, it works offline since it utilizes cached data. Unlike a mobile application, a progressive web app is fast to load and lightweight. 
Yet, it does not mean that progressive web apps are a universal and perfect solution. The discussion “PWA vs Native” continues.
Nobody talks about the fact that there are also desktop PWAs, but they are much less popular than mobile PWAs. In fact, desktop progressive web apps offer little benefit over websites, so the development of such is a question of personal preference. However, as this technology continues developing, it may open new opportunities and advantages, and, nobody knows, it might become the future of desktop development.

What Is a Native App?

The native app is a regular mobile application, which is developed particularly for a certain platform or device.

When to Choose PWA?

If you are on a shoestring budget or if cost-efficiency is your first priority, choose PWA. Native app development requires a separate development process for each mobile platform. Keep in mind also that Android and iOS are the most popular but not the only mobile platforms available. There are also Windows phones or Amazon devices with their own operating systems and stores. The Chinese market is slowly conquered by their own operating systems. When developing native, you will always be limited to a certain market segment. When developing a PWA, you go global – you develop the app only once and it is suitable for all platforms.
If you are tired of the headache caused by the deployment of an app to the App Store, PWA is the solution you need. Since such an app is found and downloaded directly from a website, there is no need to be bothered with submitting your app to the store, following all the technical requirement and community guidelines of the OS, and waiting for confirmation. With the help of the PWA technology, implementing minor changing and updating the version is as easy as it only could get. More than that, even if you manage to deploy your app, it does not guarantee that it will be visible for your users. If you open the App Store or Google Play, the top ten apps list will barely differ. It will certainly feature four Facebook apps (Facebook, Messenger, Instagram, and WhatsApp), YouTube, Gmail, and Snapchat. These very apps you will find in almost anybody’s phone. With a native mobile app, you will have to fight for the chance to be seen. With a progressive web app, the situation is different.
Here comes another reason to develop a PWA: the ability to gain users’ attention. Since any PWA is a website by its nature, it is SEO-optimized. Surely, native apps are also optimized using ASO (App Store Optimization) techniques. However, ask any specialist in the field and they tell you that getting high SEO results is way easier than achieving something with ASO. Moreover, Google highly values and prioritizes progressive web apps over traditional websites or regular mobile applications. Respectively, users can easily come across it while googling, which greatly enhances the visibility of your software product.
If the application is expected to be heavy in terms of data load and you do not want to compromise on the loading speed, you should go with PWA. When first downloading a PWA, the user does not download all the content of the app as in the case of mobile applications. Respectively, progressive web apps use a very small portion of the phone storage, which will definitely be appreciated by your users.
Among other benefits of progressive web apps, there is the ability to gain users’ affection and loyalty. Sharing the application is as easy as sending a short URL. No need to look for the app in the App Store. No need to search for a website in the browser. A user just opens the link, saves the icon on the home screen, and accesses it anytime in a few simple taps. Another feature users will definitely like is the absence of annoying updates. There is absolutely effort required in their part to keep the app up-to-date.
Talking about Google, at their official web platform for developers, they have published a statement telling about the benefits of progressive web apps. According to Google, PWAs are reliable, fast, and engaging. The reliability consists in the fact that these apps load instantly even if a network connection is unstable. PWAs are fast because they are responsive, smooth, and seamlessly loading. They are engaging because they offer full-screen experience with push-notifications and a home screen icon to access it. Respectively, the statistics provided by Google say that PWAs increase engagement and user conversion. For the developers, Google offers a step-by-step course on PWA development.
Meanwhile, no such statement about PWAs has been issued by Apple. This tech giant allegedly supports the advancement of the PWA technology but pays little effort or attention towards actually developing it. Respectively, it is believed that iOS devices display progressive web apps not as good as Android.
A nice bonus: PWAs are suitable for the business of any size.
PWAs are a good option is you have a small business or a start-up. Since the development of progressive web apps is simpler, faster, and cheaper, it may be more affordable and suitable for your emerging business than launching a long-lasting and badly expensive mobile development process. At the same time, it does not mean that, as a medium-sized or large business, you should give up on this idea. Progressive web apps proved themselves to be effective for such tech giants as Facebook, Pinterest, and Twitter since they offer a significant business development value.

When to Choose Native?

You should choose native when you want to be keeping everything under control. Not all the browsers on all the devices can display PWAs perfectly, and as a business owner, you will have absolutely no power to change it. Also, native applications offer more opportunities in terms of UI/UX than PWAs. For instance, PWAs do not give an opportunity to use 3D. 
Developing a native application is what you should choose when the functionality of your future app needs to be quite complicated. Some functions of a phone are available for native mobile apps and unavailable for progressive web applications. For instance, a PWA cannot use Bluetooth, which is necessary for connecting with smart devices or using indoor geolocation.
If you prioritize data security, you should go with native apps.  Web platforms have always been known to be more prone to a data breach than mobile applications. While PWAs are protected with security protocols, native apps still remain a safer and more hacker-resistant option.
If your business has no website and you do not plan to develop one, choose native – there is no point for you to develop a PWA. The very idea of PWA is to communicate with your target users directly via the website. If you do not have a website, why would you need a progressive web app? In turn, native applications are more self-sufficient in a way that they can function without any additional web support.
Another opportunity that only native apps offer is GEO-fencing. GEO-fencing is a technique which enables businesses to track the movement of people nearby and to act accordingly. For instance, stores can send notifications to a user when they come into close proximity to their physical location. In this way, they inform the customer about the store, draw their attention, and maybe give a discount or a special offer to encourage them to enter. Whereas PWAs can use the location feature to allocate the device, GEO-fencing is not available for them.

To Wrap Up

“Progressive Web Apps vs Native” is a discussion, not a competition. The major difference is that a mobile app is written to run on a mobile device, while a progressive web app is written to run in a browser: the web page loads – the app is running. There are both instances when progressive web apps are a better choice and cases when native apps are more suitable. The main idea is to understand the needs of your business and to find the best solution to meet them. Ask yourself four questions concerning the background of your application, the development process, user experience, and platforms that you target.
Background
If you need to develop a self-sufficient application, choose native. If you need to develop an application that would support your website, choose PWA.
Development process
If you strive to keep everything under control, choose native. If you strive to accelerate, facilitate, and cheapen the development process, choose PWA.
User experience
If you prioritize user’s safety and comfort, choose native. If you prioritize convenience and loading speed, choose PWA.
Platform
If you focus on developing apps for Android devices or for both Android and iOS, choose PWA. If you stick exclusively to Apple, choose native.
In case you need any advice or help, please contact me via maxim.savonin@keenethics.com.
Thanks to Tania Matviiok for helping me with the article.


Written by maxim.savonin | CEO at KeenEthics
Published by HackerNoon on 2019/11/25