Often, the details are what matter. Here are some tips to help make sure you have not only a great-looking app, but a great-feeling app as well:
Avoid novel or undiscoverable interactions. Or, if you do want to use such interactions, try to also provide a second discoverable method for achieving the same thing. One could argue that the slide menu a la Facebook could be considered novel, but should the gesture not be discovered, the button that triggers the menu is highly visible and likely to be tapped.
Respect your user's expectations of what UI elements and gestures do. At first this seems obvious; you wouldn't send an e-mail by clicking on a trashcan. That said, there are plenty of ways you can do things that the user didn't expect, even in a subtle manner. Your user's expectations are highly specific according to the platform, so following your platform's HIG will help out significantly in this area.
Do blend in. By this I mean that your app should look like it belongs on your user's device. This means that your app should respect the HIG for the platform. It also means your app should give the appearance of being a native app. Failing to do so may cause your users to feel like your app is a second-class citizen on the device. By giving the appearance of being native, your app should also do its best to feel native – that is it should have speed and response close to that of a native app. (It may not always be easy, or even possible, on some platforms using PhoneGap. In this case, you should try to get as close as you can without impacting your project and its timeline.)
Be a perfectionist. By this I mean that you should make sure that all your objects align nicely, your textures blend seamlessly, images are scaled correctly (especially according to aspect ratio), and so on. This requires painstaking attention to detail, but in the end your app will look and feel better for it.
Be responsive. Whenever possible, avoid freezing the user interface. If you must freeze the UI, then put up an indicator to the user so they know their inputs will be ignored. When it comes to being responsive, this isn't simply being responsive to a tap on a button, but also with regards to scrolling performance. If an app scrolls in a herky-jerky fashion, the app will feel slow.
Sip your data. While your app may often be used on a Wi-Fi connection, don't forget about your users who may have to deal with a cellular connection instead. Not only might their connection itself be slower, but they are usually under pretty onerous data caps. Cache extensively. Avoid downloading what you've already downloaded. If it can be compressed, by all means, compress it. Alternatively, give your user an out – if your app is going to use a lot of data no matter what, you might want to let them disable the portions of your app that use a lot of data when on a cellular connection.