Short recap: What is a PWA?
A Progressive Web App (known as PWA), is a website that uses web-platform features trying to provide the look and feel of a native mobile application. In simple terms, a PWA is a solution that works due to responsiveness for different screen sizes which appear as a separate icon in smartphone home screen application lists.
Is PWA really that bad?
In short words: it depends. Hold your horses and do not immediately abandon an existing Web solution. There are some business cases which are suitable for Progressive Web Apps. From a technical point of view there is one codebase that needs to be maintained by your team, usually smaller download size and no need to push updates to Apple App Store or Google Play Store (keep reading to discover if it’s really true). But there are some technical limitations of Web-based apps, too.
Business representatives have to constantly monitor market changes. For sure you wouldn’t like to stay behind the competition. Why do some businesses grow faster than others? Maybe there is a reason that they follow the latest trends in the mobile world. Users are expecting more and more integration with their state-of-the-art smartphones, beautiful and powerful UI and awesome UX. All those factors are simple to achieve when starting a fresh mobile app, either native or hybrid – that’s another topic that needs to be discussed.
Technical advantages of mobile applications over PWA
Let’s start the technical part. PWAs are not exactly “brand-new.” The idea was explored by Steve Jobs, when Apple was looking for a web application alternative. At the very beginning, Apple was encouraging developers to create web apps. Unfortunately, the outcome didn’t fulfill end-users expectations and the idea was scrapped in favor of the Apple App Store, which included native apps. That approach has some consequences. If you are thinking seriously about Apple-based users (you should, more that $19.6 spent by enjoyers on services and apps purchases last year) you have to take into consideration going into real Mobile Application. In addition, certainly there are some limitations of Web (and Progressive Web Apps as a consequence of Web API) we’ll explore right now.
Push notifications support in PWA
If somebody asks me for one essential thing which differentiates technologies we are discussing it would be the push notifications. Push notifications are a great way to build brand loyalty and increase user retention rate by offering exciting offers, new launches, and general updates. Simply Web Push is not supported by Apple thus you can’t have them in PWA.
Background mode capabilities
Background mode is a way to increase user experience when the app is not actively used. Some of the well-rated features are:
Allow the app to continue playing audio in the background
Enable the app to receive location changes in the background
Continue to complete a critical task after moving to the background
Fetch latest data from network
Perform background updates on a schedule
Send a push notifications
Interact with peripherals and Bluetooth accessories when in background
PWAs do not support background mode features, so in order to achieve them you must follow another path.
One of the common features of modern applications is their ability to work without a stable internet connection. When a user visits a page, the cache system allows all or part of the visible content to be stored locally. That feature requires solid Local Storage support and Network Info access. Unfortunately, PWA can only store up to 50 megabytes of data for offline access. If the user doesn’t launch the app frequently, the cached files will be deleted. Network information access (if the phone operates on cellular 5G/LTE data transfer or Wi-Fi) is another example of Apple Safari browser unsupported API. Hybrid Mobile Application does not have such limitations.
Hardware and device sensors integration
Device sensors and external hardware become more and more popular in the modern world full of Internet of Things integrations. Possibility to communicate with external devices is a must in 2022. Let’s have a look at the most common use-cases.
Necessary for IoT, smart vehicles and accessories (headphones, watches, custom medical equipment).
Access Health and sport data
To keep your customers safe & sound, you may have a requirement to access health and sport data from devices’ native sensors. You may even target a promotion or campaign to the users who completed the daily 10 000 steps challenge. It requires access to phone-specific API you cannot handle with PWAs.
Navigation or tracking with GPS
It’s the use-case I do not have to elaborate more. Everyone is using a GPS system day-to-day, either to navigate or track the position. As you probably guess correctly – GPS support is another limitation of PWA.
There are even more
Detect screen orientation and changes
File system access
Full Screen mode and Home Screen installation
Installation of Progressive Web Application is relatively easy. Although, the way to access the “Add to Homescreen” button is not common for Android and Apple devices. In addition, users who are familiar with the store’s concept would probably search for an app in the platform Store. They might be surprised, because obviously PWAs are introuvable in the AppStore and Google Play Store.
About full screen – users are expecting behavior like in other apps they use daily. When your product is interactive or a game, it’s hard to display as a “full-screen” or “kiosk” mode. Keep in mind that latest mobile devices introduce fancy display design (like Apple Dynamic Island, notch or foldable phones). Break a leg implementing full support in Web-based PWA.
Launch screen and onboarding
Imagine your application has a lot of fancy features you would like to explain to the users. Typical way of doing that in mobile apps is by introducing an onboarding screen, that together with beautiful design and animations, educates the customer about benefits of using the app. Maybe your application needs some time to fetch a large amount of data before start? So you think about animated or static launch screens to keep users ‘attention. Awesome, let’s do that in PWA. Oh, well… another feature you can’t offer.
There are many articles in the Internet about outstanding performance of the Progressive Web Applications. 3 seconds start time, high Lighthouse score – it’s true and achievable. However it’s not an easy-peasy task for the developers. You have to consider many optimizations, image compression, code minification or conditional-like feature limitations. After you complete this article, open a new tab with an external Uber PWA case-study to learn more.
VR and AR
Definitely trending and hot topic of the year. Let’s imagine an app that gives a customer the possibility to scan your business card and immediately presents a VR 3D scene with a virtual walk-through of your headquarter. The app might display your photo, career position or anything you imagine. OK, another example. An app where you place a phone camera towards an epic landmark and see the history in a glance. Then direct a user using turn-by-turn navigation to your shop where he can buy some souvenirs. Got the idea? So dedicated mobile apps and UX support are the only way to create deep and awesome user experiences.
Apple specific cases
In order to maximize business revenue, it is expected to target as many potential customers as possible, so you cannot skip the most profitable mobile platform – Apple ecosystem. As mentioned before, Apple always had limitations when it comes to PWA support. Maybe your company has a business requirement to track shopper behavior in the app and time spent (analytics). You may want to support deep-linking (route to certain pages when clicking a link shared by a friend). Or you’ve a concept of an amazing game which includes in-app purchases and subscription services?
Check what you cannot achieve with PWAs applied to Apple devices:
Open the locally installed PWA context when opening a link
Display install banners to invite installation to the Home Screen
Access each app separately in settings
Limited in-app payments
In-app purchases and subscriptions
Synchronize the data when in background
Use native social and health capabilities
One more time: no push notifications
What are the other options to reuse existing PWA?
We can help you with that, too. In short words we are able to design the solution which gives you the possibility to upload an application into AppStore and Google Play Store. There is a bridge between Web and native/hybrid applications called WebView. Some part or even entire Web Application can be displayed as an element of a mobile app. It becomes secure, reliable and able to communicate with a trusted domain. Using some tools (e.g. for PoC it even may be PWABuilder) a Web application is converted into a real mobile app that the user may install from the store. It’s a nice and easy starting point (and of course: cost effective way) to get familiar with the mobile apps world and open a gateway for further development. There are many options to reduce effort in building apps (see: Flutter) if you want to eliminate mentioned drawbacks.
How can I check by myself if arguments against PWA are correct?
Pay crucial attention to the tables which list feature support and try to discover how often “Safari” or “iOS” appears with unsupported crossmark.
Hope you're able to answer the question from the title now
You can contact iteo with an overview of feature expectations, questions regarding mobile vs PWA decision. Probably we already have a solution for you.