For quite some time, there have been two options to target the mobile market and implement solutions: web apps and mobile apps. Here we tackle the pros and cons of each option to help you make the best choice.
Mobile device usage has grown tremendously over the years, and studies show that this trend will continue. Many companies are already aware of this, so mobile presence has become indispensable for them.
At the time of implementing these solutions, different alternatives arise, and choosing the right option is key. For quite some time, there have been two options to target the mobile market and implement those solutions: mobile apps and web apps. If we compare those options, we will immediately note that the latter will fall short in some aspects that could be key for your business, but progressive web apps (PWAs) help fill many of those gaps.
When referring to mobile apps, we mean apps built to run natively in the mobile device OS. These apps can be built with platform-specific technologies for a specific OS (for example, Swift/Objective-C for iOS and Java/Kotlin for Android) or with hybrid or cross-platform frameworks and transpilers (Xamarin, Ionic, React Native, etc.).
There are differences between those alternatives that bring them closer to being PWAs in terms of coding and even in terms of capabilities, but there are core differences that definitely separate them no matter which of those alternatives is selected. Take a look at this great article about those alternatives: https://devsite.hexacta.com/native-vs-cross-platform-app-development-which-one-suits-your-company-best/
Progressive web apps (PWAs)
The PWA term was originally coined by Alex Russell in June 2015: “Progressive Web Apps are web apps that use service workers, manifests, and other web-platform features in combination with progressive enhancement to give users an experience on par with native apps” (source).
So, a PWA is a web app, but it does not stop there:
- Progressive enhancement provides users with a more reliable experience — features and abilities are added progressively (feature detection is key here).
- New capabilities provide a more integrated experience.
- A PWA can be installed, which makes it look like any other app:
- It has an icon on the home screen, app launcher, launchpad, or start menu.
- It appears when you search for apps on the device.
- It opens in a standalone window, wholly separated from a browser’s user interface.
- It has access to higher levels of integration with the OS.
- It can work offline.
Pros and cons
As mentioned, there are several differences between mobile apps and PWAs. Sometimes, the pros and cons are inherent to the web app part of the PWA approach, and in some cases, the PWA not only negates those cons but also adds some of the mobile app’s pros.
Next, we list pros and cons in more detail for each alternative to more easily identify the features they provide.
- They have more access to system resources, which translates into achieving greater functionality that may not be archivable by PWAs.
- They can leverage platform-specific tools and take full advantage of all the features that are provided by the operating system. For the same reason, they also tend to work better than web apps overall.
- They can work offline (so can PWAs).
- As they need to be approved by the corresponding app store (App Store or Google Play), their quality and security are pretty much guaranteed.
- They are more expensive to build, maintain, and update than web apps.
- To target multiple platforms (Android and iOS usually), the apps need to be designed and built from scratch.
- Getting a mobile app approved by corresponding app stores is not a trivial task.
- They have a single codebase no matter the platform. This means that these apps are easier and cheaper to maintain as well.
- There is no need to push updates to each device as the PWAs will update themselves.
- They have a faster launch as they do not require app store approvals.
- Once installed, a PWA looks (almost) like any other app.
- Search engines can discover and index these apps, which leads to higher discoverability if desired.
- They are available for many devices.
- They are lighter than native apps.
- They can be secured with HTTPS (this is a requirement for PWAs over regular web apps).
- They can work offline as mobile apps.
- They have push notifications like native apps (advantage over regular web apps).
- Depending on the application nature, they can be slower than mobile apps and less advanced in terms of features.
- Apple’s app store does not allow PWAs to be published (Google Play and Microsoft do), so quality and security is not always guaranteed in those cases. Also, apps from app stores are more likely to be downloaded by users than those available directly on websites.
- There is limited support for PWA on iOS. Currently, geofencing and background sync are some usually popular features mentioned as missing in iOS support for PWAs (also push notifications is a hot topic, but those were announced to be supported by Safari in iOS 16 in 2023).
- There is a lack of access to some native APIs (Application Programming Interfaces).
What should I choose?
The motivations for choosing one alternative will vary depending on your scenario. Below, we list some of the most common reasons that will help you make the best choice.
Why choose mobile apps
- You want to fully commit to making your app performance the best that it can be on every device.
- You consider that having your app in app stores helps build trust and prestige for your app and company.
- Your app needs features that are not supported by PWAs yet.
- You only need to target a specific environment (iOS, for example).
Why choose PWAs
- You need your app to be launched soon and cannot depend on app store approval process time.
- You want to target a broader audience in terms of devices supported with a single codebase.
- You already have a working web app that is a good prospect to be turned into a PWA (where the “P” is key).
- You have more availability in terms of future development support given the broad knowledge of web technologies.
Based on the constraints you may have for your specific project, you may not have many choices to make. For example, if your project requires that the app is published in the Apple app store, then your only option would be to go down the mobile app’s path.
If otherwise you have a strong requirement where you must have a single codebase, then PWAs would be the way to go.
Comments? Contact us for more information. We’ll quickly get back to you with the information you need.