Having the wonderful opportunity to create and use mobile apps has been sheer fun for me. I find it fairly amusing to see how other people make their apps and some of the pros and cons that are associated with each decision. In general, I like to categorize apps into three different categories: Native, Web, and Whatever's Left. Let's begin
These are the apps that are written in the language that the SDK is written in. Performance is generally fast and developers get access to hardware on the device such as the camera or the accelerometer. The GUI is built directly on View elements provided in the SDK. Since they are stored on the local device, much of the app is ready to go and has relatively little waiting.
These are apps that run in the browser. People have to type a web address into the URL bar and wait for the thing to load. They can be updated at any time since they are stored on a server rather than the local device. Can be extremely flexible since layout and design are done in HTML, which are easier to handle than the view objects provided by the SDKs for native apps. The browser in which these apps are run in often have optimizations which make the apps load somewhat faster.
The worst of both worlds. Hybrid apps. Slow loading times and fairly rigid. Load times can be much slower than Native or even Web. Easier to bring interesting interface designs due to the broad range of things available to use for the app. Developer has no control over the web view, which may or may not adhere to standards extremely well.