One of the key questions an organization must grapple with when choosing to develop a mobile application is whether to take a browser based approach and develop using HTML5 or to create native applications that are targeted at specific operating systems. The idea of writing one application in HTML5 and then distributing it to a plethora of different device types is certainly appealing, but despite the potential of reduced work and significant time savings, many mobile development teams are avoiding the browser and choosing to 'go native' instead.
Native components and hardware access
The first reason you might want to go native is "if you want the absolute best user experience," says Nate. Of course, that's a bit of a given. The reality is, native applications are going to be able to leverage the native widgets and components in a way that a web browser never could. It’s an obvious point, but it's an important point nevertheless.
The second key point according to Nate? It's hardware access. If you want to access a specific piece of hardware that is unique to a given device, the web APIs simply aren't going to suffice.
Point number three is performance. "Performance is also one of the common reasons you might want to go native. You can run an application much faster on compiled code than you could in a browser." Of course, few mobile applications will be pushing the limits of the hardware on which they are running, but if network latency or minor delays caused by a browser based experience are going to be extremely off-putting, developing natively will make for much happier users.
Focusing on the user
Of course, the first three points mentioned here are the most common reasons given to favor a native development approach for mobile applications. But Nate provides two more points to ponder when choosing a mobile development strategy, and as you would expect coming from a Director of UI Engineering, the focus of these last two points is the user.
Does your application have a set of common, dedicated, frequent users? If so, a native strategy might satisfy those user's concerns most effectively. "People that are regularly or constantly embedded deep into your application, whether they are doing common behaviors or doing ancillary types of set-ups" says Nate, are the people that won't likely be satisfied with a limited, web based experience. If this is a significant or important part of your user base, you might want to focus on native development.
And finally, the fifth reason to focus on native application development is "if you want to target frequent behaviors" says Nate. "If your users have a custom set of behaviors they want to be able to do and do quickly and just gain access to, then native would be a great approach to take."
There is no arguing the fact that a vast array of applications have been successfully deployed to the mobile universe via the web browser, so in many cases, development with HTML5 and advanced web APIs can be a more than sufficient way to service a user base. But if you are struggling with the decision to either develop for the web browser, or take a native approach to mobile application development, definitely take Nate Cavanaugh's advice and think about these five key reasons as to why it might be in everyone's best interests to develop your mobile application natively.