Julia Teryokhina, Senior Presales Engineering Manager
April 1, 2024
Smartphones have become an integral part of our lives. When faced with the dilemma of where to start software development — with a web application or a mobile application, many would choose a mobile app without a second thought. And this choice will make perfect sense for the B2C segment. While web based apps have the potential to reach a wider audience, in most cases they require an Internet connection and are not as fast as native applications.
According to statistics, the mobile device market share is over 58%, while the desktop market share is only about 40%. Therefore, for B2C software, it is wise to develop an application that primarily targets small screen sizes. Chances are, your users will be reaching for their smartphones to use it. By choosing a mobile app over a web app, you can benefit from a better user experience, the ability to work without an Internet connection, and direct access to device features such as camera, location, calling, messaging, contacts, and more.
When you might need to build a web app
So when may a web based app become preferable to a mobile app?
If you need data-centric applications or software that should not only process huge amounts of data but also visualize it with interactive charts and tables, a web application may be the right choice. Although your smartphone is always at hand, a small screen can be a barrier to using such software.
Another reason why you might want a web app instead of a native mobile one is when you need a fully-fledged unique user interface or your software is designed to create graphical or even textual content using different styles and digital assets.
Main advantages of the web application
- It can be launched from any device with a web browser installed.
- Comparing web vs mobile app development, we can say that the main benefit of web based apps is that you have the same source code for all the required platforms.
- Users do not need to install a web app; they can simply launch it from the URL.
- You can implement any UI you want. The only limitation here is your imagination.
- You do not need any approval from Google or Apple regarding the appearance and performance of your application. And this is a big plus when comparing a native app vs web app.
- Web applications are indexed and can be optimized for SEO. This means you can control its ranking so that it appears at the top of the search results generated by search engines like Google, Bing and Yahoo.
- You can rather easily update your web application, and users will receive the update seamlessly, sometimes without even interrupting their work with the application itself.
- Modern development approaches allow web application data to be stored both in browser cache and in a local database. Therefore, a properly designed web application can work offline with some limitations. Examples of such applications are Google Docs, Google Sheets, and Draw.io.
Disadvantages of the web application are the following
- You should take care of its hosting, monitor its availability, and ensure its protection from cyber attacks.
- When comparing mobile and web development, it becomes obvious that it usually takes a team more effort to develop a web application. In the case of web based apps, it is necessary to support different browsers and various screen resolutions. Special attention should be paid to the mobile web app design, since your software may be launched from a mobile browser as well. In addition, very often the team has to customize UI widgets or even implement them from scratch. Thus, a fully-fledged web application is usually more expensive and requires more development time than a native mobile application.
- You should spend extra budget on promoting your web application. Mobile apps can be promoted quite easily through mobile stores (such as Google Play and App Store), while web apps remain unknown to the public until they are widely advertised.
- Since your app doesn’t go through the approval process of Google or Apple, you must earn user trust yourself, especially if you handle sensitive data. Various types of certifications can help here (for example, if you need to process payment card data, your software must be PCI-DSS compliant).
Top 5 cases where web apps win
Here are the top 5 cases when a web application is preferable to a mobile one:
- All types of ERP (enterprise resource planning) systems. This could be software for e-Commerce, logistics and delivery companies, financial accounting automation, or an inventory management application. The basic idea is that ERP is used to analyze and improve the core functions of a business. Such software helps make business decisions through forecasting based on current and historical data.
- Various types of software designed for managers. For example, CRM (customer relationship management), HRM (human resources management), data management software, monitoring software, project management and task tracking systems (like Microsoft Project and Atlassian Jira).
- Marketplaces providing offers from different suppliers. There are many good examples of mobile marketplaces (e.g. eBay Online Shopping or AliExpress) or booking platforms, but the web version is usually more convenient as it allows you to see more data on one page, which is extremely useful when you need to compare products. Moreover, suppliers themselves need a comprehensive user interface to upload information about their services and products.
- Digital asset management systems that provide the ability to create, edit and categorize various types of content: from complex rich text with various graphic inserts to video. At the same time, managing digital assets often requires teamwork and multi-level approval of changes made.
- Analytical platforms providing the ability to create various pivot tables, reports, interactive charts and grids. The most popular examples of such software are Tableau or Microsoft Power BI.
All these cases have some common features:
- They operate with a large amount of data.
- They have a user management module and provide permission-based access to features.
- Some operations (such as approving documents or orders) require collaboration and complex workflows.
- Such systems provide a complex user interface divided into several areas on a single page. As all the necessary information is immediately displayed on the screen and there is no need to switch between pages to collect the required data, users are able to make decisions swiftly.
Mobile apps as a supplement to the web system
Despite all the advantages of web applications, the strengths of mobile software should not be discounted. Mobile apps may become supplementary components that expand your ecosystem. Since a native application has seamless access to smartphone features (such as camera, microphone, location, calling, and texting), it can be designed for a specific user role or to cover only a specific process. For instance, for a cargo company you can develop a series of mobile apps:
- A native application for the driver, including such features as receiving a route plan with checkpoints, reporting successful delivery or incidents with photographic recording, and the ability to receive the necessary advice from the company dispatcher via direct chat. At the same time, drivers do not need access to the web-based ERP system. Everything they need is available in the mobile app.
- A native application for a planner with a 3D cargo scanner function allowing the lorry to be loaded as optimal as possible.
- A mobile app for warehouse managers with the ability to scan barcodes and immediately put cargo into the database.
- A mobile app for top managers with the ability to receive important notifications and quickly sign the necessary documents.
You can also develop a mobile application that duplicates the functionality of the primary web system. However, in this case, you will likely apply a graceful degradation approach to focus on the crucial features, putting aside non-essential ones.
Progressive web app as an alternative solution
If you’re looking for a compromise between web and mobile app development, it makes sense to look at a Progressive Web App (PWA). While having all the strengths of regular web applications, PWA also provides some additional features. First of all, it can be installed on your home screen and has an offline mode. Other progressive web app benefits include the following:
- It’s responsive, meaning it looks good on all screen sizes.
- It looks like a native application, despite the fact that it is written using web technologies (HTML, CSS, JavaScript).
- It is possible to constantly update its content in the background mode.
- It is more secure than regular web applications due to the requirements that its architecture must meet.
- It can access more device features than a regular web app. However, PWAs still have certain limitations that cannot be bypassed, such as the inability to access the contact list on a phone.
- It can use a push notification mechanism.
- On Android, PWA can appear in the Share menu.
- At the same time, since PWA is a web based app in nature, it can be found through search engines and can also be shared through a URL.
In a nutshell, a PWA is a specially packaged web application that has a web manifest to configure how the app should be placed on the home screen, a service worker to enable offline mode, and HTTPS to allow the service worker to run securely in the background. Server workers can also send push notifications to users even if they are not currently using the PWA.
The high-level PWA architecture is shown in the picture below:
So, by taking this approach, you will cover both web and mobile platforms. But there is a fly in the ointment: while on Android you can install a PWA in many ways (such as, packaging it in a WebAPK and promoting it through Google Play, making home screen shortcuts through the browser, or sharing it as a QuickApp), there are some restrictions for iOS users. In early 2024, Apple announced that iPhone users in the EU would no longer be able to use Progressive Web Apps at all. As for other iPhone users, they can still continue to install PWAs on their devices but only through the Safari browser.
Web and mobile app comparison
The differences between a native app and a web app are shown in the table below. We’ve also compared PWA vs native apps.
Criteria | Regular Web App | Progressive Web App | Mobile App |
Distribution | Via URL. The web application can only run in a web browser. | PWAs can be added to the device's home screen via a web browser or Google Play (Android only). | Via Google Play (Android) or App Store (iOS). Before using the mobile app, you should first download and install it. |
Home screen installation | No | Yes | Yes |
Requires approval from Google/Apple stores. | No | No, unless you distribute it as a WebAPK through Google Play. | Yes. Sometimes it's difficult to get approval from the app store. |
Offline mode | Depends on the implementation. A modern web app can use the browser's cache and local storage to keep some data, allowing them to work offline with some limitations. | Yes | Yes |
Fast load of content | Depends on implementation, in most cases No. | Yes | Yes |
Supported platforms | Any platform that has a web browser. | Any platform that has a web browser. However, there are some restrictions for iOS users in the EU. | Android and iOS. However, you should keep track of OS updates as some changes implemented in a new version of Android or iOS may affect your mobile app. |
Main technology used to develop the application | HTML, CSS, JavaScript | HTML, CSS, JavaScript | This can be a native technology (such as Kotlin or Swift) or a cross-platform technology (such as React Native or Flutter). |
User Interface | You can implement any UI you want. | You can implement any UI while maintaining the native look of your application. | Depends on the technology you choose to develop, but usually you are restricted to native component sets. |
Indexable (optimized for SEO) | Yes | Yes | No |
Access to app via URL | Yes | Yes | |
Access to device features | |||
Permissions | Restricted by web browser | Yes | Yes |
Camera & Microphone access | Yes | Yes | Yes |
Inter-app communication | No | No | Yes |
NFC | No | No | Yes |
Push notifications | Depends on browser settings | Yes | Yes |
File access, Offline storage | Yes | Yes | Yes |
Contacts, SMS, Calls | No | No | Yes |
Geolocation | Yes | Yes | Yes |
Geofencing | No | No | Yes |
Virtual & Augmented Reality | No | No | Yes |
So, web or mobile?
Are you still unsure about what to choose for your business case: a web-based app, a native mobile application, or maybe a mobile web app? Timspark specialists can help you with this choice during the Discovery phase. Otherwise, we can provide progressive web app development (PWA) services to cover all the required platforms with one application.
Looking for app development services?
References
- Desktop vs Mobile vs Tablet vs Console Market Share Worldwide. StatCounter, 2024.
- Apple confirms: It’s killing home screen web apps in the EU. Mashable, 2024.