Only a few short years ago, the biggest question your team had to answer regarding apps was whether or not you needed one. But now, the first key question to ask is if you need a native app, cross-platform app or web app.
Which you develop depends on your target audience, your goals, expected use, and so on. And in most cases, those vital business decisions have implications for your development options. In this guide, we’ll deep dive into the similarities and differences between native apps, cross-platform apps and web apps. It’s best not to think of these as “pros or cons,” as in all cases, your business case will often direct you to the proper platform.
Brief Overview
In the beginning, there were native apps, which first appeared on early PDA’s but quickly became ubiquitous when the Apple App Store opened in 2008, followed in short order by a similar offering for Android devices.
Native apps are specifically designed for the mobile operating system, in this case, either iOS or Android. Users access them from dedicated app stores (such as the Google Play Store and Apple App Store). In fact, until the advent of “hybrid apps,” the fact that you were downloading something from an app store was proof enough that what you were downloading was, in fact, a native app.
Supporting multiple codebases increases the complexity of your project, however. For this reason, cross-platform apps, which reuse much of your code across multiple platforms, have gained in popularity in recent years. In this article, we’ll explore the nuances of this emerging type of app.
Finally, there are still some companies utilizing responsive web apps, which most of us see in the form of websites optimized for the mobile user. Such web apps lack app store integration, but satisfy some specific use cases.
Let’s take a deeper dive into each, considering both the business and technological capabilities of each.
Native Apps: Maximum Effort for Maximum Reward
Today, apps take many different forms, but for those wishing to offer the greatest amount of capabilities and customization, native apps continue to be the popular choice.
Depending on your app, you might be trying to leverage the inherent features of a device, whether that be the size difference between a tablet or a phone, or the ever-increasing number of sensors contained within the device. The native app, with its code crafted for the device in hand, is the perfect way to leverage the possibilities therein. And because each has been built specific to the platform, developers can leverage the platform’s capabilities.
Advantages of Native Apps
- All things equal, they’re more powerful. Native apps tend to perform better, especially if they process complex calculations and heavy graphics. Ask yourself the last time you saw someone playing a game on their phone that wasn’t a native app? If your app requires a lot of computing power, look for developers to recommend native apps. To be clear, whether or not this advantage even matters will depend on your app and your audience. But if you’re looking to maximize performance, the native app gets the advantage.
- They fully leverage your device’s potential. Mobile devices are amazing, particularly today. From monitoring your heart rate to showing how active you’ve been, the possibilities are nearly endless, so long as you have a native app. Native apps are able to harness whatever your phone can do. While many of these features have been migrating to cross-platform apps as well, those looking to maximize what the phone can do choose native apps.
- Users have expectations. Regardless if they own an Apple or Android device, users become accustomed to how to navigate apps within each platform. Developing for these nuances is best achieved by utilizing codebases designed for each.
But if native apps offer so much, why aren’t they the only type of app? Because this level of customization comes with a cost:
Disadvantages of Native Apps
- More platforms means more complexity. Having separate codebases for iOS and Android means having two separate development platforms, both in the beginning and on an ongoing basis. Depending on the capabilities of your team, supporting multiple platforms could mean adding additional resources. Also, as each platform updates their operating system independent of one another, you’ll likewise need to support different platforms with different schedules.
- More platforms means more expense. Obviously, multiple codebases don’t just take more resources to support; they also require a greater investment. Developers will sometimes launch on a single platform first, for just that reason (see Clubhouse’s exclusive iOS-only launch as an example).
- Discovery can be a challenge. If your content is on the Web, SEO can help new users find you. Even though you can search for native apps online, most users find their newest apps from the app stores. Again, if you’re making an app for employees to use, this won’t matter at all. But if you’re looking to be the next Angry Birds, getting found matters.
Cross-Platform App: The Goldilocks of App Development?
It wouldn’t be unreasonable to wonder how you can leverage the native capabilities of multiple platforms without having to support multiple codebases and development teams. Fortunately, there’s an app for that; and it’s called a cross-platform app.
Cross-platform apps reuse as much of the core codebase as possible, aside from what’s required to harness the capabilities of the device on which it’s running.
We’ve written before about Xamarin, a popular cross-platform solution, but it’s helpful to explore how these types of solutions stack up against other types of apps.
Advantages of Cross-Platform Apps
- Mostly common codebases. As we’ve mentioned, truly native apps require different codebases. That’s not the case with cross-platform apps and certainly not the case with Xamarin, where as much as 96% of the code is shareable. The four percent that isn’t unique is developed with the specific platform in mind, offering users the exact experience they’re seeking.
- Simpler is cheaper. How much you pay for an app is the type of question that is best responded to with a list of more questions, but if your developers are tasked with writing less code, there obviously should be a corresponding savings associated with it.
- The trend is your friend. Native apps aren’t going away for the same reason that other companies will continue to utilize web apps. Still, there’s no denying that for most companies, cross-platform apps are becoming the style of developing that fits right within their “sweet spot” in terms of performance relative to investment.
Still, before you decide your next app should definitely be cross-platform, there are a few things to consider:
Disadvantages of Cross-Platform Apps
- Cost is relative. While less expensive than native apps, cross-platform apps will certainly be more expensive than a simple web app.
- Less code doesn’t necessarily mean fewer updates. A cross-platform app will sometimes need updating for iOS and at other times updated for Android. However, platforms to build such apps (like Xamarin) are also updated as well, often in conjunction to updates made with iOS and Android. Thus, it’s important to realize that the same time and money savings you generate on the front end of the build might not continue at the same proportional rate when supporting the app.
- In an ever-more impatient world, it’s not the most powerful approach. Chances are, the performance capabilities of a cross-platform app will be more than adequate for your use case. But if your application includes either data crunching, intense graphics or resource-intensive features, native apps will always have the edge.
When choosing between a native app or cross-platform app, some companies still opt for simplicity over performance. For those companies, one option remains:
Web Apps: The Entry Level Approach
Admit it: depending on your goals or your budget, all of this talk about app stores and updates can be a bit overwhelming. For some, a native app or cross-platform app can seem like overkill.
You’re not alone in thinking that way. Many organizations have chosen to forego app stores altogether, instead focusing on an experience that’s been optimized for the mobile web browser. These “web apps” are designed for simplicity, and the no-frills approach is embraced by many for their efficiencies and cost savings. Is a web app right for you?
Advantages of Web Apps
- On screens everywhere. Web apps run on the browser of a given device. However, these days more and more devices have browsers, and for every new device that comes to market, the web app has a new potential place to be used.
- Less to develop also means less to support. You’ve probably noticed that once or twice per year, native app developers must quickly pivot, swiftly reacting to critical updates from iOS and Android. While web standards can and do adapt, such changes are more rare and are usually announced months in advance. As such, your web app code will need fewer updates than a native app.
- Unlike native apps, Google is your friend. Though native apps will show up in search results, there aren’t nearly as many levers for SEO practitioners to pull as there are with content designed to live within a browser. Similarly, those looking to market their apps via Google AdWords or other means will also be able to craft a seamless conversion funnel that doesn’t need to pass through an app store.
Still, as you’ve probably surmised, there are many logical reasons why a responsive web-app might not be ideal for you:
Disadvantages of Web Apps
- Less wow. More meh. By design, browsers are not built for heavy duty performance. Moreover, the perceived performance of the browser is vastly impacted by your internet speed. All of which goes to say that while users can be satisfied with a web app, they’re rarely delighted.
- Better devices mean less to a web app. The best apps take advantage of the ever-increasing capabilities of the newest devices. From cameras to accelerometers, your phone can do a lot! Alas, the capabilities of web apps are minimal, compared to native apps, though if you wanted to take advantage of such features, you probably wouldn’t have considered a web app in the first place.
- Online experience only. Though it goes without saying, a web app requires a functioning internet connection. How important that is, of course, will depend on your use case, but if your users need to work offline, a web app won’t fit the bill.
The Bottom Line: Native App, Cross-Platform App or Web App?
In the end, whether you opt for a native app, cross-platform app or web app should first be determined by the features required for it to satisfy users. (See our blog post on creating the best user stories for guidance.) Your feature-set should help determine whether or not a web app is even a reasonable option for you.
Beyond that, however, turn your attention to your desired speed to market, your budget and the capabilities of your team. Those three constraints will likewise inform the best pathway to pursue.