At the outset of a custom mobile application project, one major decision will impact everything that follows: Will you create a native or a web app?
Often, a company will begin a project with a firm conviction that they should choose one implementation direction — when the true business goals of their application indicate they should choose the other. So how do you decide?
First, it’s important to understand the difference:
Are written for a particular platform — usually iOS or Android — and in a specific programming language for each platform. Then native apps are distributed through an app store or marketplace.
Live on your server, and they’re platform-agnostic, so users can typically access them through any device they like, from a phone to a desktop. Responsive design gives these apps an intuitive, device-appropriate interface no matter what they use to access the application.
Since the rise of the iPhone, many companies have sought to create native apps, in part for a sense of prestige – simply having an app in the App Store was seen by some as conferring a certain stature or credibility. Beyond that, mobile-optimized web applications presented awkward user interfaces and limited functionality.
Today, many businesses are migrating toward Responsively designed web applications. Native apps are fantastic for a specific set of business problems, but the key lies in identifying the problems you need to solve, and choosing your solutions accordingly.
Native or Web app?
If you’re building a standalone product — a game, a consumer-facing utility, or an app designed to drive business traffic to your site via discovery through the built-in App store or Marketplace search results — you may want to create a native application. In this case, people are going to the App Store or the Google Play Store because they have a particular problem they want to solve, and they need a tool for it right now. These app stores represent a one-stop shop.
You may also want to develop a native app if you’re seeking to take full advantage of a particular piece of the hardware’s functionality, or if your business context means that you can’t rely on continuous access to the internet. Hospitals, for example, might need software which functions even when their facilities’ internet connections go down or are inaccessible – say in the basement where radiology labs are frequently housed. For this mission-critical software, a native app that runs on any device where it’s installed might be preferable to a web app that relies on a stable connection.
By contrast, you probably want to pursue a Responsively-designed web app if you’re trying to offer an enhanced service, business solution, or enterprise solution to users. These types of applications should afford users maximum flexibility, allowing them to use your software on whatever device they choose.
Moreover, web apps are much cheaper to build if you need to support the application on multiple platforms – remember, in many instances, a native application targeting multiple platforms will need to be rewritten for each platform. Responsively-designed web applications can be written in any language, or using multiple languages, including open-source technologies and resources. Further, because your web app is hosted on your server, you can update it whenever you like, rather than submitting changes to an app store, under a new version of the app (and waiting for the approval process in Apple’s case). A web app is completely under your control, unconstrained by the rules and processes – or the OS updates – of another business.
Finally, limitations on the user interfaces of mobile web-applications have been significantly reduced. Refined technologies allow developers to create applications that look and behave beautifully on any device, mimicking native controls and interactions.
Streamlining the process
If your business prioritizes control over your app, cost-effective implementation, and ease of maintenance, a Responsively-designed web app may be the way to go. Making a final decision will require conversation and collaboration with your software development partner, but by understanding and considering the pros and cons up-front, you may be able to streamline your process and create the best product for your users sooner.