A circular argument is ensuing among web developers about which is better: An HTML mobile app or what is called a native app (native being specific to the phone, such as, an iPhone app, Android app, etc.) The common consumer usually doesn’t know that they have a choice. But there is a choice to be made from the company creating the app, to the developer programming the app and the end-user using the app. The purpose of this article is to layout the advantages and limitations between HTML and native apps.
An Overview: A quick look at the advantages and limitations between native and html apps
Know your objective
Before you decide which type of app to program, you need to know the objective of your app. What are you trying to accomplish? For instance, if you are trying to monetize an app for millions of consumers, then you will most likely be looking at native app development. If the market for your app is small (as is the budget), then an HTML app probably makes more sense. Your objective will most likely address the items below as well, which will determine the type of app you will need to build.
Know your functionality
Native apps tend to have more access to phone-specific or platform- specific functionality, such as the “shake” function of the iPhone, storage to the SD card and the like. As such, if your app requires specific phone functionality, then native will be the way to go as it can’t be replicated otherwise. If phone- specific functionality is not needed, it opens the door for the typically more cost effective programming of an HTML app.
Know your audience
If the audience for your app is Fortune 100 companies, then developing a native app for the iPhone or the Android probably doesn’t make sense–but developing a native app for a BlackBerry would make sense, or perhaps even an HTML app. Conversely, market research may tell you 80% of your market owns iPhones and therefore that may persuade you to develop an iPhone app. The point is, if you know your audience, it can dictate what type of app to code.
Know your budget
If your audience is large and the type of phone/platform type is diverse, then an HTML app will ensure you can reach your entire audience without leaving anyone behind. This will be budget friendly in that your app will be available for all phones. But if you want or need to develop native apps for each device, know that developing an app for iPhone, Android, Blackberry and Windows will be an expensive endeavor and you’ll need a generous budget.
As an example, Merge chose to program the Greenville Open Studios app in HTML. Being a non-profit, the budget was not large, the market was local, and the platform was extremely diverse. It would not have been practical to develop an app for each native platform, thus, HTML was selected.
Know the importance of performance
Typically, a native app will offer better performance over an HTML app. Since the app is not operating solely off the web, the native app will typically display information faster, with more flexibility in presentation and overall better user experience. If the app does not require high levels of performance, an HTML app will be adequate.
Know your distribution channel
If you don’t have a distribution channel (i.e. your existing customers), then a native app will give you access to the native apps’ markets (e.g. Apple’s App Store or Android’s market.) However, there are ways to create an HTML app and add them to the respective phone markets.
As an example, Merge created for our client the Heavy Salvage app. The app allows insurance adjusters to take pictures of wrecked trucks, and post them to Heavy Salvage’s bidding web site for buyers around the country to bid to purchase the salvaged vehicles. The distribution channel is restricted to Heavy’s customers and performance was an important factor, as was accessing the phone’s feature (the camera.) As such, Merge developed a native iPhone app as the app type of choice.
Know your need for speed to market
If you need to develop for more than one native app, then your development time is going to be longer than a pure HTML app. Many apps, like untappd, are known for doing an HTML app first, and developing native apps later.
Summary of HTML vs. Native apps
If you want a ubiquitous, out of the gate experience that works on all smart phones, go with the HTML app. But if you want a great experience, native phone functions and better performance, then the native app is the way to go. But consider that if your audience’s device type is wide spread, you will need to develop a native app for each platform (e.g. iPhone, Android, Blackberry and Windows) which also adds to your support costs. Also know that there are multitudes more of HTML developers versus native app developers, so the cost of supporting your development costs for a native app will be more.