The hype around progressive web applications is at its peak. But how do modern PWAs differ from good-old downloadable native apps? Are they really worth the attention and investment?
In this post, we’d like to get to the bottom of the question and compare PWAs with native applications. We’ll give you a brief introduction to the world of PWA application development and dwell upon which of the “paths” to follow, native or progressive, if you’re in two minds about which of them will tailor to your business needs better.
Let’s start by determining what a native application is. Put simply, such software is coded specifically for being used on a certain platform, such as iOS or Android. Because the combinations of the required coding languages differ from one platform to another, developers basically need to separately build the native application for each of the platforms. This way, the app will function on any device regardless of its operating system.
In essence, a native application needs to be downloaded directly to the user’s device. Usually, this is done from a corresponding market that complies with the device’s OS. This can be the App Store or Google Play, for instance, meaning that the app has to be up and available on the marketplace once it’s developed in order to be used by the audience. Noteworthy, not only is it time-consuming to build the app itself, but it also often takes a lot of time to get featured on the marketplaces once completed.
More so, each native application takes up the internal storage space of every device that it is downloaded to. To provide you with an example, this is how the native application of Uber looks like in the App Store. Did you notice that its size is over 290 MB?
Anyhow, numerous companies (including the sphere of eCommerce) continue to opt for developing large-weight and costly native apps. Some of them, such as Aliexpress, even have both a PWA and native app yet still encourage their users to choose in favor of the downloadable native one. Fair enough, many people are perfectly fine with that and are accustomed to using native applications, say, for shopping purposes, since in many cases the store offers perks and discounts for purchases made via the downloaded app.
Progressive Web Applications
Progressive web applications (PWAs for short) are created using React, Angular, or other modern frameworks. The major thing that makes PWAs stand out and differ from its native “ancestors” is that technically they aren’t an application in the usual sense of the term.
A PWA is a responsive website that’s optimized to behave and look like a native application. It’s available right from the browser and doesn’t require any weighty downloads directly to the device.
Ultimately, users visiting a PWA website might not even realize that they’re using a progressive web application, assuming that they’re just lucky to be browsing a great and fast mobile version of a website. And PWAs do have notable strengths, they are:
- really quick,
- have great UX/UI,
- a blast to navigate,
- don’t require any device storage space nor updates,
- can be added to the device using an “Add to home screen” link,
- safe and secure,
- optimizable in terms of SEO,
- can handle push notifications,
- can be used in offline mode,
- don’t need to be separately developed to cater to the OPs of the devices.
Falling back on the previous example, below is a screenshot of the Uber PWA as seen when accessed via the browser. As you can see, it is visually very reminiscent of a native application, plus it’s very fast, user-friendly, and simple to navigate.
PWA vs Native App: Pros and Cons
So which one is better? There are many debates regarding this question, yet truly this greatly depends on the type of business and the set goals. For one thing, PWAs are a modern approach to application development and, according to prognosis, are thought to be the future of applications on the whole.
To recap what was listed in the two separate sections above, progressive web applications differ from native ones:
- in the way that they’re installed,
- in the necessity to be updated,
- in the opportunity to be used offline,
- in development and it’s cost,
- other capabilities.
Below we’ll go over the pros and cons of both.
- PWAs can be added to the device by simply using a link that offers to place it on the home screen. Such a shortcut appears on the device and looks pretty much just like any other native app icon but is practically weightless as it opens in the browser. (1 point for PWAs)
- Contrary to common belief, PWAs can be accessed if the user is offline but partially. In this aspect, native apps are better. Hence, if giving clients the opportunity to use the app when disconnected from the internet is an issue of great concern, then this functionality strength goes to native applications. (1 point for native apps)
- Plus, if a native application is highly important for the business, progressive web applications can often serve as a median. This way, they can assist in winning over that segment of new clients who aren’t ready to get the native application yet and are just familiarizing themselves with the service. (1 point for PWAs)
- What’s for development, unlike in the case with native applications, PWAs don’t need to be coded separately to function on various devices with different software and platforms (iOS vs Android). They need to be created once. As a rule, this results in much smaller costs too. (2 points for PWAs)
- Push notifications that appear on the device in the form of messages and alerts that are needed for reminders and user re-engagement purposes are a serious advantage of native apps. PWAs currently can’t boast having the same functionality support. (1 point for native apps)
- As it was mentioned earlier, native applications must be installed on the device, thus, take up storage. They are usually weighty and have to be updated from time to time if some features are added to the application. At the end of the day, this means maintenance and additional effort and time that the user has to put in to use the app. And if you take into consideration the idea that the person might access the application just a couple of times a month, this matter becomes a weighty point on the scale. (2 points for PWAs)
- On the other hand, those who are more comfortable with standard applications might not be capable of fully “getting the feel” of PWAs. (1 point for native apps)
- When it goes down to accessing the device’s built-in capabilities for app use (this regards the smartphone’s camera or calendar functionality, for example), PWAs haven’t fully covered the area yet. (1 point for native apps)
Some Conclusions to Take Away
So which of the two should you choose for your business? Below are some simple deductions.
Choose a PWA in case:
- you want a modern solution that’ll be accessible regardless of the device’s platform;
- you wish to cut costs;
- you want to grow your site’s conversions from mobile devices;
- you aren’t sure that a huge portion of your audience can commit to downloading your app to their mobile device straight away.
Choose a native application in case:
- it’s probable that a huge portion of your users will be happy to get a downloadable app;
- it’s crucial for your app to use the device’s functionality (f.e., the camera);
- it’s vital for the app to be able to re-engage users (push notifications);
- if offline accessibility is important.
About the Author
Alex Husar, CTO at Onilab with 8+ years of experience in Magento and Salesforce development services. He graduated from the Czech Technical University and obtained a bachelor’s degree in Computer Software Engineering. Alex’s expertise includes both full-stack dev skills and a strong ability to provide project-critical guidance to the whole team.