I don't think html5 apps will replace native apps. On the contrary I think the opposite. Perhaps html5 technology but running locally.
How do we run a business-critical app when the connection is down? If it's local you can do your work and let it sync when the signal comes back.
I suppose you could do everything client-side and run it from the cache but then all your code is exposed. Someone can pretty easily steal it.
I think a hybrid is the best design. Use native apps for specific functionality and use web apps for the full kit of functions where the users are likely to have a reliable connection and using a PC with a large screen.