Are native apps invincible?
Not that long ago, the way to create engaging user experiences for smartphone and tablet users was coding native apps. It was only natural - after all, native apps were designed to be used specifically on mobile and tablet devices. It seemed impossible that anything should ever replace the native app. But is this still true today?
In a recent couple of years, the limitations of coding native apps have been becoming more apparent - possibly the most important of these being that native apps must be coded separately for different systems. Launching a native app that will function on Android and iOS requires creating two different code bases. This, in turn, means more resources going into coding, maintaining and updating the app.
It’s not just about different operating systems either. If the solution was to be made available to desktop users, a third code base would need to be created, since native apps obviously can’t normally function on PCs. This is one of the reasons why alternative solutions have been gaining serious traction.
Progressive Web Applications join the battle
Progressive Web Applications (PWAs for short) differ from native applications in that they are available cross-platform and cross-device. This means you can create, maintain and update a single code base, and the app will be available on desktop, tablet and mobile devices, across different operating systems.
Unlike native apps, PWAs are available online via web browser, just like a standard website, and do not need to be installed on the user’s phone. They are the next step in creating web-based experiences with dynamic user interactions and boast some serious advantages over normal websites, such as:
- access to many native features of smartphones and tablets,
- possibility to add the app’s icon on the device’s home screen,
- increased speed and security,
- offline functionality.
All of the above make the users feel like they are interacting with a native application. You can thus give your users the engaging experience of native apps, but without the usual drawbacks that come with coding them.
PWA vs. native apps - how do they stack up?
At this point, you might ask: alright, so where is the catch? If PWAs are so versatile and cheaper to build and maintain, why haven’t they overtaken native apps already? One answer to this question is that native apps are deeply ingrained in the mobile market. The majority of end users are currently more accustomed to searching for mobile applications on official app stores, where PWAs are only just emerging.
Another thing is that, unlike native apps, PWAs do not automatically have access to all of the operating systems’ API. Some features, like access to Bluetooth, are not available on Windows Phone, and other functionality, like push notifications or adding the app to home screen will not work on iOS out-of-the-box, and workarounds are necessary to fill in those gaps.
However, the ecosystem has been changing lately. Developers of tablet and smartphone OSs have been boosting support for PWAs’ features in recent years, allowing more and more access to phone and tablets’ functions. Most notably, Apple has enabled support for service workers and Web App Manifest in March 2018, which allows for PWAs to function on new versions of iOS. Around the same time Microsoft announced that Bing crawlers will be automatically listing online PWAs which adhere to their standards on the Windows Store. Other PWAs can be manually submitted to Windows Store.
Google dedicated a large segment of the Google I/O 2018 conference to PWAs
Speaking of app store availability, an important thing to note is that, aside from the Windows Store, PWAs cannot really be published on Google Play or Apple App Store. However, some argue that this isn’t that much of a drawback. Compared to the process of obtaining an app from a store (access the store, find the app, download the app, install the app), accessing PWAs is much easier and more immediate. If you think about it, instead of having to go through all the due process, the users can click on a URL and access all of the content they need in a split second.
Also, as I already mentioned, an icon for the app may be included on the device’s home screen. However, it’s not necessary to actually install the PWA on the device, so the users are saving disk space. Users will also immediately see all updates to the app, as developers don't need to roll them out via app stores. Just another couple of little advantages in the age where a user needs access to more and more mobile applications every year.
Who will win...
… is the wrong question to ask, I think. Both native apps and Progressive Web Apps are viable and already grounded solutions, each of them with their own drawbacks and strong points. As a future owner of an app, rather than asking yourself which is better, you should probably ask yourself these:
- Does my app need to be available on Google Play and Apple App Store?
- Do I want to offer the same experience to mobile and desktop users?
- Does my app need to be available across many systems?
- How many of the devices’ native functions does my app need to use?
Your answers to the above will help you make an educated decision about the solutions.
I think a good measure of the current climate when it comes to mobile applications is looking at the big players on the market. Some major services like Twitter or Uber have made a decision in recent years to make a shift towards Progressive Applications. You can access https://mobile.twitter.com or https://m.uber.com right now on both your phone and laptop and test out their PWAs’ functionality side-by-side on the two devices. It’s almost eerie how similar the experience is! At the same time, however, Twitter and Uber do maintain their own native apps for iOS and Android. This tells me that native apps are still very much the present of mobile experiences, but PWAs are seen as a potential future.
A side-by-side comparison of Twitter’s PWA on mobile and desktop
I am certain that app owners can create amazing user experiences using both native apps and PWAs. Offering a lightweight, engaging experience for users on all systems and devices, PWAs are quickly evolving as OS providers roll out support for more of their features. Native apps are also far from stagnant, and provide a focused experience, which is available via all official stores. Whether you choose one or the other should depend on the specific business goal you have in mind, and the sort of product you wish to present to your users.