Mobile Apps: Native vs. Web Applications

Smartphones have created a phase shift for mobile phones from being just an instrument with predefined packages of features to a device where you can run diverse set of functions using applications. According to comScore, more than 80 million Americans now own smartphones. With the increase in demand of smartphones, the demand of mobile apps is increasing.

Smartphones are now equipped with modern browsers enabling a new breed of HTML5 driven web applications. These applications are able to run as platform independent apps requiring far less development effort and resulting in lower costs. Here are some typical points relating to the different ways smartphone applications can be built.

Native applications
These apps have to be installed on the device in order to run. They are called native as they are designed to run on specific device OS such as iOS or Android. Apps are either pre-installed on the device or can be downloaded from App Stores provided by mobile device vendors like Apple’s App Store, Google Play, the Android market, etc.

The native application responds more quickly
It is easier to adhere to a device’s visual design standards as the development tools target that single device
Because native apps are built for a specific platform, they can integrate very tightly with device hardware and operating system features

Native applications require more time to develop and also more development skill.
For each mobile OS you will need to redevelop the App, using a new development language in the case of iOS, Android and Windows Mobile
When a new version of the existing native app is released the users must download and install the update.
Depending on the application, it involves significant amount for distribution and promotion.

Web applications
These apps are developed using standard HTML5, CSS and Javascript technology. Web Apps can be loaded from any web server and so they do not need to be installed on the device to work. However, thanks to technologies such as Phonegap/Cordova Web Apps can now be compiled and then installed and run on the device as with a Native App. Web Apps are not device or platform specific and can therefore be accessed by all web-capable devices including normal desktop browsers. Web apps are developed once, but can be deployed on almost all devices and platforms.

You can immediately access the application from your mobile device
They are compatible with any HTML5 browser enabled device
Updates can be delivered conveniently. A user can run the app even if he upgrades or changes his mobile.
Web apps are developed much quicker than Native Apps and are easier to maintain
Pure Web Apps do not require App Store approval, which can take weeks
Phonegap/Cordova technology allows web applications to be compiled and then delivered via App Stores. This also allows access to device hardware (camera, GPS, accelerometer etc.) and other low level OS features

Pure web applications require continuous Internet connectivity is required for the app to run, although Phonegap compiled applications do not
The apps may have slower performance and may be slightly less functional compared with native apps.
The developer needs to be aware of security risks inherent in any web application.
Web Apps lack the raw graphics and computational performance of native apps.

Native vs. Web apps: what to choose
As you can see that each of it has its own pros and cons, the choice between the two actually depends on your usage. Native apps are best where performance and strict adherence to device specific design standards is required. However, this comes at a cost due the complexities involved. And if you need to run your App on more than one platform, then costs increase still further.

Web Applications are the general purpose workhorse of the development world an over time, the great majority of applications for both Desktop and Mobile will run using HTML5 based web applications. Although developers with the requisite skills still prefer Native Apps, Browser technology is getting ever more functionality and developer support and it will soon be a natural destination for almost all front-end developers.