In 1994, the first smartphones became must-have devices and changed the way we do everything. It’s reasonably safe to say the mobile platform is here to stay.
A dizzying array of mobile apps for both iPhone and Android are available—a seemingly infinite variety of ways to communicate with others, waste time, or work.
The web isn’t dead—far from it. When you’re at a party and need to settle a bet over some factual question, you pull out your smartphone (As if you ever put it away to begin with…) and look it up—where? On the web, of course.
When drawing a roadmap for a new app, developers may need to make a fundamental choice: go for native mobile app, or a responsive web app? Or both?
Native vs. Responsive: A Review
In case you’ve been off the grid for the last five years or so, here’s a refresher on “native mobile app” and “responsive web app.”
A mobile app is one written for a specific mobile platform using that platform’s native operating system (OS). Native mobile apps are to mobile devices what Windows or MacOS apps are to laptop and desktop computers. Anything downloaded from Apple’s App Store or the Google Play app store and installed on your smartphone is a native mobile app.
The executable code for a native mobile app can run on only one OS. However, there are ways to write the source code once and have it separate Android and iOS executables. This is called cross-platform development.
By contrast, responsive web apps represent an attempt, usually successful, to enable web app—that is, apps written for delivery in a web browser—to sense the screen size of the user’s device and present a user interface optimized for that size. In this way, a single website or app looks good and retains more or less equal usability, regardless of whether the user is on a smartphone, tablet, laptop, or traditional desktop computer.
Through clever design and programming, a responsive web app on a smartphone can be visually indistinguishable from a native mobile app.
So which one is better? It depends.
Pros and Cons
Each approach has advantages, so the “best” choice often boils down to short-term goals, long-term strategic objectives, project timelines, and budget.
Here are the pros and cons of each approach as they stand in 2019:
Development effort: Native mobile apps are generally more expensive to develop than their web-app counterparts because:
- Separate codebase for each mobile platform – Each mobile OS represents hardware and software interfaces differently, and the same functionality might require vastly different coding strategies in each. You can’t very well develop an app for one platform and not the other. Each platform is popular enough you risk leaving a large market unserved by developing for one alone. But developing for both could require more developers.
As mentioned earlier, tools do exist that enable cross-platform development, but they only get you so far, A certain percentage of the functionality will need to exist in separate codebases.
- User interface (UI) standards – Each mobile platform has user interface guidelines and standards that must be observed. Apple is particularly strict about allowing only those apps that meet its UI standards. Google is more forgiving. However, departing wildly from Android’s UI guidelines risks confusing users accustomed to apps that behave in a certain way that is consistent across apps. Adhering to all these different guidelines and standards for each platform adds to the cost.
Designers are also free to be creative with the user interface—there is no external approval process to get through, and no standards or guidelines to observe, other than usability best practices and what you can reasonably get away with on each form factor.
At one time, responsive web design meant maintaining separate presentation (user interface) layers for each device type, and they all had to be kept in-sync with changes in app functionality. Recently, techniques have been developed that enable maintenance of only one presentation layer that automatically senses and adjusts according to window or screen size.
Release cycle: Native web apps must go through a new approval cycle by each app store for each new version. Web apps need only have new code pushed out to the web server when there’s a new version, so release cycles can be tighter and more agile.
- Functionality – Native mobile apps have an advantage here in that they can access hardware and software features, such as the camera, GPS receiver, file storage, and contacts. For security reasons, these features are closed off from web apps. Web apps are limited in the functionality they can offer. Furthermore, because responsive web apps necessarily have to work on multiple OSs, browsers, and screen sizes, you can’t design for any single one of them—you have to make them work on all of them, which limits you even more.
- Performance – Because native apps sit directly on top of the OS, they have more direct access to processing, memory, and storage than web apps, which work in a browser that in turn sits on the OS, and which rely on a connection to a remote server. Thus, native apps typically perform faster than web apps.
There are advantages and disadvantages to each approach in other areas:
- Monetization – Native apps have multiple monetization models to choose from, including charging for the app in the app store, providing in-app advertising, or having separate free and more-capable pay versions of the same app. Web apps are more difficult to monetize, unless you’re actually selling something in the app.
- Offline mode – Web apps, by definition, work only when there’s a network connection; the UI in the browser is only a “thin client,” with the data storage and computational heavy lifting taken care of on the server side. Mobile apps can be designed to provide at least some functionality when there’s no Wi-Fi or cellular signal or when data rates are throttled.
- Brand awareness – With a mobile app, there’s an app icon that has to land somewhere—with any luck, on your home screen, where it’s in your face, begging to be tapped every time your pick up the phone. This persistence can build brand awareness.
Web apps are harder to get to—you have to open the browser and then navigate to the app. Although you can save web pages and apps links on your home screen, it requires an extra step. From a marketing standpoint, this puts web apps and a distinct disadvantage.
There’s no clear advantage in all cases for one approach over the other. Each approach has advantages that make it more appropriate for particular projects. It all depends on what you want to achieve and how much you want to spend to get there.