Guy Wilcox

When to Use Progressive Web Apps (PWAs) and Native Apps

Low-Code, Software Development, Digital Transformation
|
2024-04-10
When to Use Progressive Web Apps (PWAs) and Native Apps

As a software and web development company, we often find that, when considering a mobile application, people question if they should develop their new service as a ‘Progressive Web App (PWA)’ or a ‘Native App’. As always, cost is a big factor but your analysis of the challenge vs the solution should be one that weighs up all aspects of value.

There is no straightforward answer, and often, what typically follows this question is lots more questions, but for this article, I’d like to dive a little deeper than just ‘cost’ and illustrate a value comparison.

(Click here to learn more about our web application development services.)

 

What Are Native Apps and PWAs?

Let’s start by defining what native and web apps are, then drill down into the pros and cons of each.

 

What is a Native App?

Native apps are built specifically for a particular platform, such as iOS or Android, using the platform's native programming languages (Swift/Objective-C for iOS, Java/Kotlin for Android).

Native apps generally provide a more optimised and immersive user experience, as they have direct access to device-specific components and features e.g., camera, GPS, push notifications or more advanced App features like access to the device’s accelerometer, calendar, compass or gyroscope.

 

What Are Progressive Web Apps?

PWAs run on any platform with a modern web browser, this is due to them being built in web languages: HTML5, CSS, and JavaScript.

If you need to target multiple platforms, PWAs offer greater cross-platform compatibility.

PWA’s don’t operate in the same way ‘behind the scenes’ as Native Apps, a PWA relies on ‘service workers’ which are scripts that the browser runs in the background to enable the PWA to utilise the device’s camera, notifications, or offline caching service. 

Technically speaking you may start to see how they differ, but what does that mean?

 

Pros and Cons of Native Apps and PWAs

 

Native App Pros   

 

Faster and More Responsive User Interface

Native apps can leverage platform-specific UI components and gestures, resulting in a smoother and more responsive user interface, which is often why native apps are chosen by consumer-facing brands e.g., banks, gaming or entertainment, where user experience trumps all.

Offline Capabilities

Native apps can offer more extensive offline functionality, as they can store data and resources locally on the device.

Greater Data Security

Native Apps will be installed on your specific device, data for which will sit locally within the device’s Application folder, behind all the device's built-in security and can’t be easily accessed via the internet.

 

Native App Cons

 

Limited Discoverability

The flip side to the ‘pro’ of data security is discoverability because Native Apps don’t operate within the browser, and it’s not as easy for search engines to index all your App content, so the world can find it! I guess the question is, do you want the whole world to find it? Or a specific group of users?

Distribution and Updates 

Native apps are distributed through app stores (such as Apple’s App Store and Google Play Store) and require users to download and install them on their devices.

App store guidelines and approval processes need to be followed and updates need to go through the app store review process. This is not always a straightforward process and can take time, you are dependent on the rules and criteria of the store.

However, should you not wish to be discovered by the masses, then you can distribute via MDM solutions (Mobile Device Management Solutions) to get your App onto users’ phones.

Cost

In essence, when it comes to the technical development of the App, a purely Native App will cost you around two to three times as much as a web-based PWA, in both the initial build and the update and maintenance costs which come from its continued existence.

High In-House Resourcing Costs

When developing your native app in-house, it's probably going to cost you two additional hires and existing staff time spent commenting and testing, at a minimum. You might also have to consider the cost of outsourcing mobile app development if your team isn’t capable of handling it on their own.

Access

It’s a harder process to get the App in the first place. You have to click the link, go to the App Store, download the App, sign in and finally use it.

Storage Space

Native Apps take up lots of storage space on the device.

 

PWA   Pros

 

Cost

Web application developers only have to create one build project when building a PWA - purely for Web and unlike Native Apps you don’t need to create separate builds for iOS, Android and possibly Windows devices.

Marketing Reach

PWA’s are more discoverable as they, like any web page can be indexed by Google’s search engines, however, their reach does not extend beyond the browser.

Apple’s App Store is a no-go. Google Play is fine, and Microsoft is also fine with publishing PWA’s on their App Store, however, not Apple, and to quote them, this is why:

 

“Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it does not belong on the App Store.”

 

User Experience

A winning point for PWAs is the ‘App Discovery’ user experience, due to browser availability, it's simple, you don’t need to do the ‘hard work’ journey of going to the App Store and downloading the App of choice, awaiting the install, and then continuing with the experience, it’s a completely integrated experience to move from a normal web browsing experience into a focus Application.

Development and Maintenance

Native apps require separate development efforts for each platform, as they are built using platform-specific languages and tools. This can increase development and maintenance costs. PWAs, on the other hand, can be developed using web technologies (HTML, CSS, JavaScript), making them generally faster and cheaper to develop and maintain. A single codebase can often target multiple platforms.  

 

PWA Cons

 

Limited Offline Capabilities

PWAs can also work offline to some extent using service workers and caching mechanisms, but the offline capabilities may be more limited compared to native apps. 

Easy Updates

PWAs are accessed directly through a URL and do not require installation from an app store. Updates to PWAs are seamless and can be instantly available to users without going through app store reviews.

Limited Data Caching

The data caching limit is only 50MB.

No Access to Key Features

There is no access to key features and functionality such as face ID and touch ID, Bluetooth and Siri.

 

Unipro value footnote: maybe you can get the best of both worlds with Hybrid Web/Native Apps? written in HTML5 and JavaScript, like PWAs or web apps. For the most part, they are web pages but wrapped in a mobile app using WebView. However, they also have access to the built-in capabilities of a device. They are built using cross-platform frameworks like React, Ionic, Cordova, Sencha and Xamarin. 

 

So How Do I Choose?

 

When selecting the type of App build, you should always consider the importance of the user experience (UX) versus the other factors that may sit within your requirements.

If UX is top of the priority pile and your App requires optimal user performance, then go Native. PWAs, although improving rapidly, may not offer the same level of performance and integration with device features.

However, Native App builds often will cost you around twice as much, but it will be worth it when you review your user retention stats. If you want a large consumer audience to ‘find’ your App, then retention based on a premium experience might be the least of your worries. If you build native, you’ll have to put a significant budget into your App promotion for people to find it in the first place, you could be throwing too many ‘rocks in the road’ for super-fast interfaces to matter. 

Consider using Native Apps when:

  • You require access to extensive device-specific features and hardware.
  • You want to provide a highly optimized and immersive user experience.
  • You are targeting a specific platform and can invest in platform-specific development.
  • You need more extensive offline functionality.
  • You require greater on-device data security.

Consider using Progressive Web Apps when:

  • You require greater reach to a consumer audience via the web.
  • You want to target multiple platforms with a single codebase.
  • Your app doesn't require extensive access to device-specific features.
  • You want a faster and more cost-effective development process.
  • You want seamless updates without going through app store reviews.

As a software and web app development company, we can support your project throughout the development lifecycle. We also offer a range of other services including web portal development, digital transformation consulting, team and staff augmentation, and conversion rate optimisation. Get in touch today to find out how we can assist with your digital needs.