Native apps reside on the device and are used via icons on the device's home screen. Native apps are set up via an app store (such as Google Play or Apple’s App Store). They are made just for one platform, and can make use of all the device functions - they can make use of the accelerometer, camera, GPS, compass and so on. They can also include gestures(either standard operating-system gestures or new, app-defined gestures). And native apps can work with device’s notification system and can operate offline.
Mobile Web Apps
Web apps are not real applications; they are actually websites that, in many different ways, appear and feel like native apps, but are not applied as such. They are operated by a web browser and usually written in HTML5. Users first get them as they would gain access to any web page: they surf to a special URL and then have the choice of “installing” them on their home screen by setting up a bookmark to that page.
Web apps became really famous when HTML5 came around and folks noticed that they can get native-like features in the browser. Today, as increasing numbers of sites use HTML5, the difference between regular apps and web apps has become blurry.
In 2011 Financial Times withdrew its native application from Apple’s App Store to avoid subscription fees and keep closer relationship with their subscribers. In its place, it showed up with an iPhone web app.
Its web app is, in several ways, difficult to differentiate from a native app. For example, there are no noticeable browser buttons or bars, whilst it runs in Safari. And, thanks to browser caching, it’s even easy to explore the newspaper offline.
These are all functions that are readily available in HTML5. There are, however, native features that stay unavailable in the browser. Of course, one can debate that many apps (native or otherwise) do not take benefit of those additional features anyhow. But if you actually need those native functions, you’ll have to make a native app or, at least, a hybrid app.
Hybrid apps are part native and web apps. Just like native apps, they reside in an app store and can benefit from many device functionalities available. Like web apps, they depend on HTML being rendered in a browser, with the caveat that the browser is inlayed within the app.
Usually, firms create hybrid apps as wrappers for an already present web page; by doing so, they expect to get a exposure in the app store, without having to spend substantial effort for creating a different app. These apps are also well-known because they let cross-platform development and thus tremendously reduce development costs: that is, the same HTML code parts can be used again on several mobile OS. Tools like Sencha Touch and PhoneGap let people to design and develop across platforms, using the strength of HTML.