Difference between Hybrid, Native and Web Application
Native apps :
Native apps have binary executable files that are downloaded
directly to the device and stored locally. The installation process
can be initiated by the user or, in some cases, by the IT department
of the organization. The most popular way to download a
native app is by visiting an app store, such as Apple’s App Store,
Android’s Marketplace or BlackBerry’s App World, but other
methods exist and are sometimes provided by the mobile vendor.
Once the app has been installed on the device, the user launches
it like any other service the device offers. Upon initialization, the
native app interfaces directly with the mobile operating system,
without any intermediary or container. The native app is free to
access all of the APIs that are made available by the OS vendor
and, in many cases, has unique features and functions that are
typical of that specific mobile OS.
Hybrid apps :
The hybrid approach combines native development with web
technology. Using this approach, developers write significant
portions of their application in cross-platform web technologies,
while maintaining direct access to native APIs when required.
The native portion of the application uses the operating system
APIs to create an embedded HTML rendering engine that
serves as a bridge between the browser and the device APIs.
This bridge enables the hybrid app to take full advantage of all
the features that modern devices have to offer.
App developers can choose between coding their own bridge or
taking advantage of ready-made solutions such as PhoneGap—
open-source library that provides a uniform JavaScript interface
to selected device capabilities that is consistent across operating
systems.
The native portion of the app can be developed independently,
but some solutions in the market provide this type of a native
container as part of their product, thus empowering the developer
with the means to create an advanced application that
utilizes all the device features using nothing but web languages.
In some cases, a solution will allow the developer to use any
native knowledge he or she might have to customize the native
container in accordance with the unique needs of the
organization.
The web portion of the app can be either a web page that resides
on a server or a set of HTML, JavaScript, CSS and media files,
packaged into the application code and stored locally on the
device.