Web Applications Versus Native Applications

Posted on August 9, 2012

Up until the launch of the iPhone, trends in application development were clear: 90% of new applications would be based on the web. Google pushed huge advances in technology that made this possible, and improvements in browser technologies have made web-based applications increasingly comfortable to use.

Moreover, there is now a large pool of developers that are comfortable in front-end web technologies such as HTML, CSS and JavaScript. A large pool of developers often means a lower cost pressure on development resources.

Before the iPhone, it was almost a certainty that this web-oriented view of the world was going to be the defacto standard way of developing applications. Indeed, with the first iteration of the iPhone, Steve Jobs suggested that developers should create web-apps for the platform.

Yet, with second iteration of the iPhone, the 3G, everything started to change. Apple opened up an SDK for the platform that allowed programmers to write applications using a language called Objective-C and hence to create native applications on their phones.

The first wave of applications were written this way; but the web did not remain dormant; it innovated. The great pool of web developers decided that they too wanted to write applications for smartphones, but in the languages that they knew and with the advantages that they felt web applications offered. Today, organizations developing for smartphones have essentially two options for creating their applications: the web or native. Without going into great detail on how those applications can be created, here are the pros and cons of each approach.

Web

Pros

• development can be re-used across multiple device types
• there are no barriers to deploying new code, such as the app store
• applications are more easily accessed from email, webpages and social media
• there are many developers available with the necessary basic skills

Cons

• web pages react much more slowly than native pages
• pages needs to be tweaked for different devices and different browsers
• the HTML/CSS/JavaScript technology stack is a bit of a hodge-podge and hence development can be less clean and take longer
• the amount of data to download is much larger, adding to slower speeds.

Native

Pros

• interface interaction is much faster. Touch objects react faster.
• users much prefer native applications, driving greater engagement.
• better availability of device features.
• interface information is on the phone, so less data to download.

Cons

• code written for one platform cannot be used on another, making Multi-device development potentially more expensive.
• application stores act as gate-keepers to devices creating barriers to launching apps, and some apps are disallowed.
• if app is not installed, getting users to install it is a conversion barrier.
• developers need to be more specialized, resulting in greater scarcity.

At Digital Possibilities, we look at each project and decide on which approach makes the most sense in the context of the goals of each client, as well as their technical capabilities.