I'll say phonegap is a good approach just for light apps. What is more, with just one code you can deploy to all major plattforms.
But if the app is big (lets say facebook app) it would definetly crash. This is history, it happened in real life to facebook, twitter an linkedin when they started with html5 apps for smartphones. They had to went all the way native to stop people complaining. I dont know if you had facebook installed back to 2012-13 in your android device, it was just terrible and painfully slow (I had a Motorola defy back then, a very common device in south america).
Here is a very intersting answer in Quora:
http://www.quora.com/?digest_story=5866052
The question is "What is the most valuable programming language to know for the future and why?", some answers are Javascript, and the best best voted answer is an answer that goes a little offtopic saying why Javascript for mobile is not good, gives statistics, and tells why you should go all the way native.
If right now you are a little more convinced why native is better than hybrid apps. Then here is were B4X kicks in. You get all the power of native development with a very and easy to use framework. What is more, right now you can share almost the same code between iOS and Android apps! Why go hybrid when you can go all the way native in a more easy way with a powerful tool like B4X!?