What are the advantages of native mobile development?
HTML5 applications provide a lot of benefits; using them means that you only essentially have to write and maintain one codebase in order to support multiple devices. It's also a lot easier to build, since you can often adapt existing Web applications to fit your needs. Making your site mobile-capable can be incredibly useful, since your existing customers can easily find it, and you're not forcing people into a totally new experience. If you need to get something out quickly and across multiple platforms, HTML5 applications are certainly a good solution.
However, HTML5 applications also have a huge downside. While HTML5 does allow you to provide a consistent experience across multiple devices, that is often not the right thing to do. Take, for example, an iPhone vs. an Android tablet. These two devices don't deserve the same user interface, and what makes sense on an Android simply doesn't on an iPhone. The Android might have physical buttons and the Android OS supports widgets. Similarly, a Windows Phone supports "Live Tiles," and simply having an icon or even a small snapshot of your app isn't enough. Even if all of those extra features aren't enough to convince you to build for native, it's also important to note the speed differences between HTML5 and native applications. If you don't believe me, just ask Facebook, which acquired Instagram solely for its native mobile capabilities.
HTML5 applications are great for small applications without a lot of features or complex functionality, but if you're really trying to make a good impression, you'll probably want to go native.
This was first published in January 2013