I'd start off by suggesting you google this...this topic has been beaten to death...nearly as bad as "which is better"....
Personally, they will all probably co-exist till there is a significant change in the underlying processes. HTML based sites will, in my opinion, be gone... Distributed apps parsed dynamically over the internet will be the mainstay. Something similar has been around for a while but (to my knowledge) nothign is near the model I foresee....
Apps that are pure code, compiled, rendered and displayed on the fly, platform independant with backends that are agnostic. No one would know, or care, if their app is local or not... The only tricky piece will be disconnected mode, but that's another discussion....
Does that sound like "pie in the sky", sure....but I really foresee that as the next evolution.