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.
Dig Deeper on Cloud application development
Related Q&A from Chris Moyer
Can an application have Python as a container, run SQL queries on an external Microsoft SQL database and publish the results on an Apache web server ... Continue Reading
The wait is over, as you can now trigger Lambda functions with SQS messages. Follow these steps to get up and running with this new capability. Continue Reading
Event-driven computing means no IaaS provisioning and no data center to run. Can I migrate all enterprise apps to be event-driven? Continue Reading