Time to market or do it right?
Typically, when a company decides to build a mobile app, they are either playing catch up with their competitors, or have identified a business opportunity previously untapped. Whatever the reason, executives want the application built out and released ASAP. However, as most people know, ASAP often means many compromises need to be made as well as well making decisions on the fly. Both hybrid and native approaches can get the job done but there are certain considerations that should be understood right off the bat.
First, if a company can wait six months or more before the app is launched, a native approach makes the most sense. Native applications have the best performance, highest security, and best user experience.
However, if the desired time to market is less than six months, then hybrid could be a better alternative because the app can be built in one source code, can be released across platforms, and development time and effort is considerably less as compared to that of native applications.
Again, another word of caution. Your users will EXPECT a great experience. They do not care what approach your team decided to take. They will open the app and EXPECT it to be intuitive and responsive in terms of speed.
Getting out the door may guarantee a mobile presence but it certainly doesn’t guarantee the success of the mobile app in question. As mobile app usage takes over traditional browsing paths (desktop/laptop), which as of last year they have, , companies with a mobile presence must constantly think about the two key promoters or detractors of their application: speed and user experience.
Overall, the performance of the app as well as the user experience vary significantly based on the development framework chosen, with the native app approach being the uncontested winner in both cases.
How important is the performance of an app to your company? (very important, we hope!)
Even the most vocal advocates of hybrid applications are forced to admit that native applications win the war in performance. A native app is faster and more reliable by its very design. As users navigate a native mobile app, the contents, structure, and visual elements are already on their phone, available for instant loading, and thereby providing a seamless experience. This is akin to downloading most of a website’s static content to a user’s phone at once which is then available for instant loading regardless of their phone’s internet speed.
In contrast, a hybrid app has only a wrapper that is downloaded to the user’s phone (which may or may not contain all the navigational elements) with most of the data being loaded from the server. In this case, there are two key issues that may have an impact on the overall performance of the app: the number of server requests (i.e., how many people are making calls to the same server at the same time), and the load balance requests (are the requests coming from mobile devices pinging the same servers as desktop/laptop clients, or do they have designated servers).
Experts agree that, despite all efforts, hybrid applications take a hit in the performance war. John Long, a developer at Mozilla, argues the following:
“There’s no indication the DOM [document object model, the API used to pass information before the mobile interface and the server] will ever be fast enough, and if it does happen it’s light years away on mobile. I’ve seen no technical description of a truly plausible way to make it significantly faster.” 
More than experts, users also agree with this assessment with 84% of users considering performance to be an important or very important factor.
User experience – a critical differentiator in the Native vs. Hybrid debate
User experience is the key to an application’s success. Fifteen years ago, many executives disagreed with this assertion (some still do), perhaps with good reason. At that time, most websites had a poor user experience so it was not a differentiator. Consider how Apple, Amazon, Microsoft, and Yahoo’s websites looked 15 years ago, for example.
In contrast, today’s software development is all about the user experience. In fact, the optimal mindset a company must embrace is this:
“How do I allow my user to accomplish a task without even giving them the chance to think they’re in a new app?”
The psychology of a mobile user is straightforward: they’ve already been through the steep learning curve getting familiar with their phones, and that experience was not without its frustrations. Once users learn how to use their devices, they don’t want to have to absorb new features specific to other apps they might download unless it’s truly intriguing. Users just want to keep using their phone in the way they believe all apps on their phone will operate from a navigational and interactive point of view. This means that the application’s controls, interactions, visual cues, and gestures (if you’re on Android) must be seamlessly integrated with your platform’s extensive style guide.
So important is the user experience for mobile app users that 92 percent of all customers will have some sort of a negative reaction to the app: from never using it again to switching to a competitor’s mobile app, giving the app a poor rating in the app store, and so much more.
All this background is needed to understand the user experience trade-off when choosing between native and hybrid options. As we saw above, a native application is designed for a specific operating system. As a company embarks on the task to build a new app, the user experience specific for that OS become of critical importance to the mobile presence on the market. A robust user experience must address the adaptability and layout, navigation, modal structure, interactivity and feedback, animation, color and typography, and in-app branding.
When launching a hybrid application, that app is platform agnostic. That’s one of the main appeals of a hybrid app: you build it once and then you release it across multiple platforms. One UI – nice and simple. Additionally, you do not have to maintain two different code bases. All of us know that an iPhone app is written in Objective-C or Swift while Android apps are written in Java, and they are not transferable (i.e. – they need to be rewritten). That means hybrid apps are, one, easier to build; two, take less time to market, and three, maintain one code base.
The tradeoff is the user experience. The problem with a hybrid app is that even the most brilliant user experience architect cannot truly build an app that caters to the two dominant user types: iPhone users and Android users. Their style guidelines are simply too different, oftentimes to the point that from a design perspective any decision becomes a compromise which, on a case-by-case basis, must be weighed against all other strategic and tactical factors.