Progressive Web Apps vs. Native Apps
Progressive Web Apps (PWAs) are a trend we’re seeing pop up everywhere. In fact, Google just added Progressive Web App as a primary ranking element for their website audit tool, Lighthouse, as a standalone ranking mechanism.
This is a big signal that Google is not only looking towards progressive web apps as a dominant player in the search and digital landscape, but also investing in the technology. They will continue to consider PWAs when validating your website for search and speed insights. Their flagship browser, Chrome, has been continually getting new features to increase the capabilities of PWAs for several years.
“The pros and cons of PWAs are still being weighed by the digital community, and every day browsers become more and more sophisticated. Advanced device features not available to the browser today may be there tomorrow. However, in the current state of technology, we still see value in both formats.”
So what does this mean for native apps?
Does this mean that native apps are dead? Our clients often ask about our take on progressive web apps, what they are, what they are not, and why they should still invest in their native applications.
First, let’s break down what a progressive web app is and why it is different then a native application on your phone. A PWA is like a shortcut on your phone to a web application that looks and acts like a native application. Unlike native applications where the code physically runs on your native devices, this type of application actually runs in a browser-based environment. It mimics the look of a full native application, but is actually running server-side through your web browser in an architecture coding structure called a service worker. The service worker operates like a packet delivery system that communicates between the device and the browser.
The advantages of this type of app are very strong. They can load faster. They are usually more lightweight. They can run on any browser. They also do not require a deployment through an app store like Apple’s App Store or the Google Play Store. These reasons combined with the universal nature of web browsers make PWAs very appealing.
So you may ask Why am I even considering a native application? If it's faster, lighter, more universal, and I don't need to deploy to the store—it’s a no brainer. Right?
Connection to the Device & Battery-Life Conservation
There are some things native apps can do better than PWAs. First of all, the connection between native apps and device-only features is a huge item to remember. A smartphone has an accelerometer, a gyroscope, and a camera that a native experience can talk to directly. Native apps use these tools to convert valuable data into incredible experiences. The user can allow you access to see where they are, what direction they are going, and give you access to their camera. This allows you to do tasks like tracking their speed and calories burned for a fitness tracker, or using their camera to show them an augmented reality furniture item in their home. These tools are directly tied to the device and require native experiences to bring the data and the experience together in a native application.
Another area where native apps shine is in battery conservation. Because content is able to be local and can ‘talk’ to the device directly, it does not require a URL to access content. This allows the development team to extend battery life.
All these functions are not possible with a progressive web application (yet). By its nature, it is tied to the browser data and not connected via the device to these reservoirs of data opportunity.
Web apps are certainly valuable, and there are some really nice use cases where a full native application might be overkill for a user. But the moment you want to use data that only the device can access via device hardware, a native path is the way to go.
In fact, we have seen our customers use a hybrid approach where they leverage the native only features like geofencing, augmented reality, bluetooth, and gyroscope features along with a webkit wrapper that pulls in their responsive websites. This allows the strengths of both an e-commerce investment and device-centric features to live in harmony serving the user and the marketer together as one.
Advantages of Native Animations & Navigation
Another area where native shines is in the use of animation and transition effects. Native applications can deliver smooth and seamless animation experiences by leveraging the native hardware on the device more directly. And while browsers can leverage animations, these animations have more basic capabilities than native experiences. They can be jittery, or time out if the connection is weak from the service worker.
A second, nuanced-yet-substantial difference is having native navigation in the app vs non-native navigation, or navigation that is launched from outside the app experience. Standardized navigation that follows the experience of the operating system is a better experience for users because they have been trained to use this across many applications. And when you utilize the default OS conventions like the back button, you free up space on the UI and aren’t reinventing the wheel. Users gravitate toward and appreciate an experience that is universal and doesn't require them to relearn basic functionality when using a new application. This conserves development, design, and the user’s mental processing time, allowing everyone to focus on more unique functionality within the app.
Device-Centric Feature Functionality
Ultimately, the key arguments for choosing a platform reside on your roadmap. If you know there are vital features that require your application to use one platform, the answer of native vs. web app may be answered automatically. We have created a chart to help you determine if a web app or a native app is the best fit for you.
Another core difference between progressive web apps and native apps is the core languages in which they are architected. PWAs work primarily with JSON files (a web browser language), using a web manifest file. This file points the URL that hosts the progressive web app and launches it into a full-screen view for the user. The native experience resides on the user’s phone and launches the app interface directly from the device. Native experiences are written in the native language of the operating system they are supporting: Kotlin for Android and Swift for iOS. This is an important distinction as continuous knowledge of these languages is required of the team maintaining the product. This might determine your path if you have more technical chops in your web coding practices then the native application side of the house (or vice versa). We have found that experienced mobile developers are harder to find and changes in mobile technology are harder to keep up with. If you do not think you can manage a native application in-house, you may want to consider a progressive web app or consider hiring a mobile shop that specializes in each native platform.
The pros and cons of PWAs are still being weighed by the digital community, and every day browsers become more and more sophisticated. Advanced device features not available to the browser today may be there tomorrow. However, in the current state of technology, we still see value in both formats.
If you want a lightweight, easy-to-deploy application that leverages your existing website architecture, then PWA may be an excellent investment for your company. However, if you have to leverage smartphone exclusive features like accelerometer data, geolocation, bluetooth, multi-OS social share, advanced camera support, biometric security, and NFC proximity features, a native application is still the right choice.
Magnetic Mobile has been working with advanced website and mobile technology features for over seven years. These projects have included responsive websites, iOS and Android Application Development, and omni-channel messaging solutions. We manage several national brands by helping millions of customers in the retail and manufacturing industries. Do you have more questions about whether a native or web app is right for you? Reach out and let us help you define your next digital transformation.