The easy obstacles:
Performance. Two more layers of abstraction make browser apps clunky. This will go away when phones get beefier.<p>Security. In Wonderland apps ask for permissions, app stores check for vulnerabilities and abuse, users read permissions and allow. In Real-land, click-buy-install-use. Browsers can also ask/warn users regarding permissions and features.<p>Phone Features. Can the browser access the camera, local storage, gps, address book, etc....yes, the browser is a 'native' app, it can have super powers; and then let HMTL5 use them.<p>The almost-impossible obstacle: the market.
If you are old enough you'll remember that Windows grew like yeast b/c it had Office and that Mac kept its niche b/c it had 'designer software'. Fast forward 20 years and FF OS cannot grow as it wished b/c the phones do not run Whatsapp, the new SMS. Ergo: the apps available weight more in the purchase decision than HW or brand. So, the platform owners will do as much as possible to keep things native b/c if anything runs on anything, and if harware is mostly the same on all phones, what is the differentiator?<p>Did you know that only a year ago it was possible tu create a native app with basically two features: push notifications and a webview. Inside the webview you could run your web app. Now appstores reject these type of apps, they require x% of the code base/features to be native (I believe x is changing, maybe is 50 now?).