Progressive web apps vs native: Which is better for your business?

Business / Tech
native

In this article, we will go over progressive web apps vs native apps differences.

Are native apps doomed? We don’t think so! And, mind you, this is coming from a web development agency that specializes in web apps only. Chrome developers have done a lot of impressive work to improve mobile experience with progressive web app development. Nonetheless, PWAs still cannot outperform native apps in aspects that can be critical for some businesses.

In this article, we will go over progressive web apps vs native apps differences. So by the end of your reading, you’ll know what will be the best investment for your business in 2017. Let’s dig in.

Native Apps

Native apps are apps that programmers develop for a particular mobile platform (like iOS or Android). This means that you can create a native app only with a programming language of a chosen platform. And this usually comes down to Objective-C or Swift for iOS and Java for Android.

This low-level programming gives many advantages in terms of app performance and direct access to platform APIs. But it also comes at a cost of longer and pricier development, as well as distribution friction.

Let’s take a closer look at advantages and disadvantages of native apps.

Pros

Great performance

So far, no other solutions (PWAs, web or hybrid apps) have been able to match the performance level of the native apps. They load fast, they look and feel like they were meant to be on your phone and all that without consuming much of your battery. This is why users spend most of their time using them: ‘87% of mobile Internet time is spent in apps’.

The high performance comes from the low-level programming. When you write an app with the language of the platform, your device won’t need extra resources to interpret the code, so it will run as smooth as possible. Whereas with PWAs, that work on web technologies, your device will need to work extra hard to run them.

Access to All Device-Specific Functionality

Although PWAs can already use many device features, their capabilities are still incomplete (missing Bluetooth, NFC, and others). With native development, you will get access to all of the device-specific functionality and you won’t have to depend on the browsers to adopt them.

Cons

Distribution friction

It is getting harder and harder to attract new users for native apps. Nearly half of US smartphone users don’t download any new apps within a month.

native

Figure 1 Source: ComScore

As a result, over 60% of apps never get downloaded. Why is that so?

Native apps are a pain to discover and download. The only way to distribute them is via app markets like Google Play and the App Store. And users have to follow 4 to 6 steps to download a single app. This is too much!

Research shows that at each step you lose 20% of potential users.

native

Compare that to the web, where everything is one click away and you’ll get the idea! And PWAs take full advantage of this low friction.

Notably, in an attempt to bridge this gap, Google has recently launched Instant Apps for Android. This new approach to native development allows users to get access to certain features of an app just by clicking on a link. This is a way to let users get a taste of an app without having to download it from Google Play.

It’s too early to tell how well this will work, in terms of lowering user acquisition costs. But it’s definitely worth your consideration.

Work only on one platform

As I’ve already mentioned, you need to develop a native app for each platform separately. So you won’t be able to use the Android code base for your iOS app.

Moreover, you will likely need different specialists to develop for Android and iOS platforms. It is rarely the case that one developer knows both Objective-C/Swift and Java. At least he or she won’t be equally good at both.

Whereas, with PWAs you will have a website and an app all in one. So you will cover all platforms that use PWA compatible browsers (more on that below).

Longer and pricier to develop

Native apps take longer to develop and, thus, they cost more. This happens because low-level programming often entails more work for software developers. Whereas, web development automates many development tasks.

Let alone the fact that it is harder to develop and maintain separate code bases for each platform. You’d have to develop your website and apps for iOS and Android separately.

Outsourcing development of a native app can cost anything from $20k to $80k for each platform, while a PWA can be developed for $6k to $20k from scratch.

Harder to update

It is also not so easy to update native apps. To release a bug fix or new feature you have to first submit the updated version to Google Play or the App Store and then hope that your users will update their app. Which doesn’t always happen. That is why some apps send notifications asking you to update their app or even block certain functionality until you update.

Whereas with PWAs you can run seamless updates and your users will get them in an instant when they get online.

Progressive Web Apps

Progressive Web Apps are web apps that provide improved mobile experiences thanks to the modern technologies of the web.

Google has launched them to take the better of the two worlds: the wide reach of the web and good user experience of the native apps.

native

PWAs use service workers along with other progressive technologies to get closer to the native experience:

  • Can be added to home screen
  • Look like apps on mobile devices (full screen, app-like navigation, etc.)
  • Work offline
  • Fast
  • Get easily updated
  • Send push notifications

What’s more, PWAs do all that while being one click away from the users. Let’s go over the progressive web apps advantages and disadvantages in more detail.

Pros

Low friction

PWAs are a product of the web, so they leverage the best that the web has to offer – low friction. This is the number one reason why businesses use progressive web apps.

To get access to a PWA, all you have to do is click on a link. And if you like what you see, you may allow the PWA to send you notifications and add it to your home screen. No need to go through the installation process.

All of that allows businesses get more users/customers and do that at a lower cost. Housing.com spends $3.75 for each new user of their Android app and only 7 cents to acquire a PWA user.

native

Faster and cheaper to develop

As I’ve already mentioned, you can get your PWA much faster and at a lower cost than a native app. Moreover, it will work on multiple platforms. This is a huge advantage for startups! Firstly, most of the web development takes less time than low-level programming. That also means that there are more web developers on the market than there are Java or Objective-C developers. As a result, their rates are lower and it will be easier for you to find one. Here is a simple comparison of what native developers earn and what JavaScript developer earns in the US.

native

Secondly, you will be able to use one app on multiple platforms and devices (desktops and mobile).

Always up-to-date

In case you discover a bug in your PWA or decide to add a new feature, all you have to do is update your web app centrally. In such a way, every user will get an updated version, as soon as they go online.

While with native apps you have to first approve all updates with Google Play, which may take some time and only then offer each user to update their apps.

Cons

Not supported by some browsers, including Safari

One of the biggest disadvantages of PWAs is that only Chrome, Firefox, and Opera support them, leaving out Safari, as well as smaller browsers. And this might be a big deal for some companies.

native

Yet, the fact that some browsers don’t support PWAs, doesn’t mean they won’t work in those browsers at all. PWAs still work in ‘unsupported’ browsers, but just as mobile websites. And, case studies show that PWAs perform better than mobile websites even in unsupported browsers. So in your mobile Safari browser, you won’t see features like offline work mode and Push Notifications.

Performance limitations and increased battery use

We’ve all heard incredible PWA stories from the early adopters. They brag about tripling and quadrupling their load speed, increasing session times and conversions. Something like:

…e-commerce website Konga cut data usage by 92% for the first load by migrating to a PWA.

You should know that those great performance results are all benchmarked against mobile websites and not native apps. Although, they don’t always make it clear. PWAs are still slower and consume more battery than native apps.

This happens for all the reasons stated above. In spite of ‘progressive technologies’, your device would still have to interpret the high-level code of your PWA. This always leads to the less effective use of the phone hardware.

Can’t access all device-specific functionality

You will not be able to utilize all device-specific features with PWAs. Even though the most innovative browsers like Chrome have made a lot of advancement in this area, there are still things they can’t do. So, you won’t be able to use the following features in your PWA:

  • NFC
  • Bluetooth
  • Proximity sensors
  • Ambient light
  • Advanced camera controls
  • Geofencing
  • Wake lock
  • Contacts

Nonetheless, we hear that the browser development teams are working on these features, so it might be just a question of time.

Progressive Web vs Native Apps Comparison Summary

Native Apps

  • Friction/user acquisition cost – Higher
  • Development time and cost – Higher
  • Reach (across devices and platforms) – Smaller
  • Performance – Faster
  • Access to device specific features – Complete
  • Update process – Slower

Progressive Web Apps

  • Friction/user acquisition cost – Lower
  • Development time and cost – Lower
  • Reach (across devices and platforms) – Wider
  • Performance – Slower
  • Access to device specific features – Limited
  • Update process – Faster

So Which is Better for Your Business?

It depends on your company. Here is some basic thinking behind the progressive web apps vs native apps decision.

Go for a native app if:

  • You need an app for iOS
  • You require 100% smooth performance
  • Your app will have many features and many controls
  • Your app will use Bluetooth, Contacts or any other unsupported device functionality
  • You have a big budget
  • Time to market isn’t critical

Go for PWA if:

  • You need an app for Android
  • You need easy distribution
  • You need simple functionality
  • Time to market is very critical
  • You have a smaller budget

These are the main factors that we take into consideration at our company (greenice.net). We hope this helps and wish you lot’s of luck with whatever you choose!

Author: Kateryna Reshetilo, Head of Marketing at Greenice, web development agency. She specializes in developing and implementing marketing strategies for IT companies.

Co-author: Sergey Opanasenko, Co-Founder of Greenice. Together with his business partner, Sergey oversees the agency operations and cares for the well-being of the team. Former programmer, he is known for his critical thinking and problem-solving skills, as well as a passion for technology. Also a loving husband and father.

Comments
To Top