I'm building an HTML 5 app as a side project right now, and I intend to target mobile with it, in addition to browsers. I'm a professional web developer, so it makes sense for me.<p>There are a few wrappers that will translate HTML 5 calls to native calls when run on a mobile phone. The one I'm working with, CocoonJS, actually provides pretty good performance. Granted, you need to be building your app as an HTML 5 canvas, but if you're doing a game, you're likely to be using one anyway.<p>As far as missing capabilities go, CocoonJS is getting pretty all-encompassing. For example, I can access the camera of the phone. I can do in-app purchases, and use native ad platforms. I can access the accelerometer and detect orientation changes.<p>Perhaps missing the "real" UI of the phone does make it feel a little foreign, but in my case, I'm not particularly worried. Most games I've played on my Android phone don't use them either, even when they're fully native.<p>I would say if you have the resources, or you need to use every drop of performance you can get, go native. In my case, that's not necessary and saves me from having three codebases.<p>Use the right tool for the job. That tool will change based on your audience and needs.