Companies deciding how to invest in mobile applications ask the question of web app or native app. To understand the answer companies need to understand the pros and cons of each. Ultimately it's not one or the other.
HTML gives ubiquity. Native development gives excellence. You want both.
HTML will win hands down in simplicity. You can get a basic web page online and running on every major mobile browser in an hour and have time left over to check your email and update your status. The complexity and development costs on native apps however can add up, especially if you need to develop for multiple platforms. Getting a basic "Hello World" app running in 2 major app-stores requires knowledge of ObjectiveC & Java. Not to mention the submission, review and approvals of these apps.
There is little code re-use across platforms in native apps. Your typical Android app isn't going to improve the development of your iPhone app or vice-versa. There are cross compilation projects that attempt to bridge this gap however only lower level C/C++ cross compiles with any consistency and this generally is the functional, not user-facing portion of the app.
There are at least a dozen tools that promise cross platform development. These tools are either compilers that produce native code or wrappers around web API's. These tools generally sit between you and the platform you're trying to support. This layer between you and your users can dramatically impact the...
Quality of experience
When it comes to quality of experience native applications tend to win. Native applications perform faster and have access to more aspects of the phone's operating system. This allows for better animations, camera and video access, richer native controls and navigations and more.
HTML has greater flexibility in presentation and allows for content updates to happen via the web. This can enhance the user experience when content is updated frequently or the user interface tends to change often.
In some cases the quality of experience when using web technology is acceptable in others it's clearly a sore spot. One down side to native experience is crashing. While web apps can also crash they often fail more gracefully.
HTML - The promise of write once, run anywhere
Sounds good, except when you deal with the details. In particular performance and native user interfaces.
Things like scrolling a list and basic object manipulation in HTML can feel... "Sticky." This is because the design and layout are interpreted by the web-browser and this interpretation takes time.
HTML is reasonable to use on layouts that are primarily presentation of static content (the original purpose of HTML). It tends to break down in quality of the user experience as it strays toward interactivity or large amounts of data.
- Facebook uses HTML to present static status updates but their slide to reveal interface is native.
- LinkedIn uses HTML to present static profile data on users but much of their core UI is native
- FlipBoard uses HTML to layout content pages of their articles but the animations and flip transitions are native