December 22, 2010
Rick Blalock has an eloquent explanation of the difference on BeautyInDesign:
A lot of people think that Titanium and PhoneGap are in competition with Sencha Touch and jQuery Mobile. They aren’t the same thing. I’m sure I’m going to get some comments on this but think of a mobile web app as a website. Think of it as Basecamphq.com or Twitter.com. A mobile web app runs in your browser. Almost all of the app’s resources are remote, stored on some server somewhere. Sure there might be some local storage happening but at the end of the day it’s a website application.
A native app runs on your device. All of it’s resources are installed locally on your machine. A native app uses platform and language specific API’s native to that device. You can’t run NSString in a mobile web app. A native app has access to local resources while a mobile web app cannot.