Mobile eCommerce - Build a native app or go for a PWA?
It's been almost five years since Google announced that mobile searches surpassed desktop searches. With their dominant marketshare in online search this was a clear indication that mobile visitors should be your primary target audience, not an afterthought.
We've yet to see a similar watershed announcement from global eCommerce giants like Alibaba or Amazon, but numbers from eMarketer indicate that more than two thirds of B2C eCommerce revenue comes from mobile. Even if you don't take statistics for granted, it is safe to assume mobile eCommerce has already eclipsed desktop or will soon.
So, if we can agree that mobile ecommerce is essential today, we can move on to consider what is the ideal implementation method in 2020. For mobile operating systems we ended up with a duopoly of Android from Google and iOS from Apple, so there are only two main targets for which you can build applications with a number of frameworks and libraries.
An overview of technologies in 2020
The main two classes of mobile apps are "native apps" distributed through online app stores, and "web applications" that a user can interact with online without the need to download from an app store. Both approaches have received plenty of improvements over the years, and for common capabilities used in eCommerce they are closer than ever.
The past few years have seen a rise in something known as a PWA (Progressive Web Application). This is a set of APIs that enhance the capabilities of a web browser to allow a web app to behave more like a native app. This means the ability to pin it to the home screen, access to native notification mechanisms, offline use and more. Google has been especially keen on pushing this technology, where as Apple has been slower to adopt it.
As mentioned earlier, the native app development landscape has also evolved. From native apps written with modern native languages in Swift for iOS or Kotlin for Android, the scene has witnessed large scale adoption of technologies like Flutter and React Native. These technologies allow writing cross platform (Android and iOS) app that provide a fluent user experience without implementing the application's interface and core logic twice.
One key benefit of going for a PWA instead of any favor of a native mobile application, is that as a side product you get a web application that runs also on the desktop and other devices that have a browser, like smart TVs and car infotainment units. You are also free to continuously update your application without an approval process mandated by mobile app stores. Finally, you get access to a large market of potential customers from online search engines who can make a purchase without an extra step of downloading your app.
A PWA seems like a no-brainer… is it?
Progressive Web Applications are enjoying a rise in popularity in the eCommerce space. B2C heavyweights like Magento have thrown their weight behind PWAs and have invested in documentation and tooling. There are also third-party projects like Vue Storefront that provide scaffolding to rapidly roll out a fully decoupled storefront using REST APIs.
I think that PWAs are absolutely the best way to go for many eCommerce stores. If you have a catalog of products that you want to users to buy, there is little benefit that investing in a fully native solution can deliver compared to a well architected PWA: Contemporary UI libraries like React or Vue.js allow building great user experiences for desktop and mobile.
Still there is room for native apps in mobile eCommerce. If you are in a competitive field or deal in specialty products, a native app can give you the competitive edge over your competitors. Mobile apps give developers access to advanced capabilities in the platform. For example, if you want your customers to find products using image recognition or provide an Augmented Reality preview, a native app can be the fastest way to achieve this.
The choice between a native mobile app and a Progressive Web Application boils down to a balance of cost, speed to market and functional requirements. And things are not black and white: A PWA does not necessarily limit the capabilities of your storefront, but spending time implementing a complex feature can make it prohibitively expensive compared to using tools supplied out-of-the-box by native SDKs provided by Apple and Google.
eZ Commerce is our platform for delivering world-class eCommerce implementations. Our server-side driven application allows accommodating PWAs by enhancing our standard set of templates. You can also access our RESTful APIs from either PWA or native apps. With our recent acquisition we continue to further integrate commerce as a core part of our DXP offering and provide even better APIs to power the best solution for every use case.