To develop a Native or HTML5 or Cross Platform is an important decision. While making the choice you have to consider these factors:
- User Interface and User Experience
- Platform Features
- Platform Data
- Development Tools
Native apps tend to perform better. The applications have to be built correctly on either platform but if built correctly native apps will perform better because there are fewer interpretation steps and less back and forth to a server.
Native apps are snappier than web pages. Even in the best scenarios. Browsers cover a wider range of touch gestures, and so in certain situations, you need to wait a bit of time to really understand what’s happening. You cannot perform an action that starts with a single tap if you have not waited enough to exclude that you are instead going to deal with a double tap. Google is improving Chrome to remove the delay when possible.
Native Apps provide better access to system resources and better cache mechanism.
Performance and speed are easier to achieve on native apps but likely with enough JS fine-tuning and a snappy backend setup you can still overcome this in web apps. Some of the pages especially table like views do not perform well. Some transitions would be quirky but many things do work well across browsers.
User Interface and User Experience
Native applications have access to buttons, controls, tabs, sliders, modal dialogs and other native controls that allow applications developers to have a more consistent user interface. Applications built natively often “feel” better and more natural.
Web Applications just don’t feel native and slick.
Security is not the main driver in most cases.
Native Apps sit in a privileged position compared to web pages/web apps. They sit one level nearer to the capabilities of the phones. Apps can speak with the camera, microphone, accelerometers, Bluetooth, can turn on the flashlight, can check if there is Wi-Fi connectivity…and more.
HTML5 is continuously playing catch-up with native apps. Some of these are available to web applications but generally it’s a subset of the entire set of the platform. This may include platform features like Game Center, Passbook as well as others.
This may improve with significant changes in the mobile ecosystem (e.g. a major success of Firefox OS), webs page will be limited in the capabilities they can deliver.
Native applications can get access to contacts, calendar, photos and other platform data in ways that are often not available to web applications.
One of the biggest issues with web apps is simply the weakness of JS tools to debug issues. This made development tricky and slow.
This will no doubt improve in time.
Native Apps and Cross Platform Apps need to be deployed on App Stores. Apple process of approval would require around 2 weeks for the first version. Google Play is only a few hours process, though.
Web Apps require no installation and it’s as easy to use them as just loading a page.
Native Apps have obvious advantages over HTML5 or Cross Platform development. But web-based apps are catching up fast and they have low-cost development and low-effort deployments advantages to staying competitive at this stage.
Web apps will be perfectly suitable for plenty of use cases today and even preferred. However, there are certain inhibitors that tend to push some companies native. This will improve as html5 and JS development tools catch up for mobile.
You can start your app development as HTML5 app but with conversion to Native App as soon as you hit the serious levels.