May 18, 2014

Native, Web and Hybrid Apps

The explosion of mobile applications has caught the attention of many companies for developing their own applications. The idea of having another way of interacting with the customers is very tempting. For example, banks have found that allowing basic banking operations using an application attracts customers that already use a mobile device. However, developing an application is not easy as it sounds. There are different approaches one can take depending on the requirements and the needs of the company. In general, there are three popular approaches: Native Applications, Web Applications and Hybrid Applications.

What are Native Applications?

They are applications developed for running only in only one platform. Currently, the platforms that capture more subscribers are iOS from Apple and Android from Google with 52.1% and 41.2% respectively. Far away from those numbers come other mobile platforms with less “followers” like Blackberry 10 from Blackberry Ltd and Firefox OS from Mozilla Foundation.

In general, mobile applications are downloaded from common markets or stores, like Apple’s App Store or Google Play Store (before was called Android Market) and then installed on the device. The applications are offered in two ways: as free or as pay. This is one way in which developers and stores earn money. One part develops the application and the other distributes it by means of the store.  The other way is by mean of ads in the application and websites. This is how Google Play Store for example, get most of their profits.

Revenues and Downloads

In 2013, Apple reported that their customers spent over $10 billion on their App Store with almost three billion downloads in December. On the other side of the street, Google Play Store’s revenue share has been growing at a moderated but firm pace compared with Apple. Apple’s App Store is mostly fed by China and US and to a lesser extent by Vietnam and South Africa.

In the battle of apps downloads, the current champion is Google Play Store with a difference near 45% over Apple’s App Store. This incredible volume of downloads is in part due to the emerging markets such as from Mexico and from Turkey where the adoption of Android devices is booming. Also, downloads were strong in countries like Brazil and Russia. Moreover, the already established markets (US and UK) are helping to shorten distance in the revenue field. The projections indicate that Google will continue narrowing the revenue gap with Apple and leading downloads in during 2014.


What are the Pros and Cons of developing Native Applications?

Pros:

  • Native applications use built-in features of the device and perform faster. Some of the most common features are the camera, the GPS, the accelerometer and the compass.
  • These applications get support from the app stores and marketplaces. Users can find and download what they want from the stores.
  • A native mobile app can produce the best user experience. High performance and fluid interaction can squeeze out all the built-in features and hardware in benefit of the user.
  • Stores have strict audit procedures for ensuring that new apps follow the security standards (most of the markets). Therefore, users can download applications safely.
  • Native applications suit better for developers because platforms provide SDKs and other tools for developing applications faster and easier.

Cons:

  • A Native application approach can be expensive since they must be developed in each platform one by one. 
  • Programming skills are required for each platform. 
  • The cost of maintaining native applications is higher, especially if the application supports more than one mobile platform.
  • The process of approval for publishing an application on a marketplace can be long, as the requisites are high. Also, there is no guarantee that the application will be accepted. Even more, that the application will be top listed.
  • If there are different versions of the same app, it will be difficult to maintain and offer support.

What are Web Applications?

They are websites that may look and feel like native applications but under the hood are not the same. A web app is simply HTML5 (or simply HTML), JavaScript, CSS rendered by a browser. The web browser renders the web application like any other regular webpage. There is no need to download the application in order to access to it, only is needed the URL and that is all. 
Some elements typically present in native application are emulated by the application such as swiping horizontally to change the section or similar design as seen in Android or iOS applications.

What are the Pros and Cons of developing Web Applications?


Pros:



  • They are easy to maintain as they share the same source code for multiple mobile platforms.
  • Web Apps can be compatible with almost any old device (with browsing capabilities).
  • These apps do not require passing through a rigorous approval process, just saving the URL.
  • There are no restrictions of time or design for releasing the application. The developers publish the application when is necessary.
  • All updates are transparent to the users as they only enter to the URL and execute always the last version available.

Cons:


  • Web apps only can access a subset of the features available in the devices.
  • The cost of supporting multiple platforms is high, as well as the maintenance too.
  • The wide variety of devices makes difficult to offer support and study the usage patterns.
  • The visibility of the application is reduced, as it is not listed in an app store.
  • There are no standardized quality procedures for web apps, for this, quality and security of the app is not guaranteed.

What are Hybrid Applications?

These applications take a native wrapper and put inside a web application. That is, the native wrapper is a native application from the outside while the content is HTML, JavaScript and CSS. These kinds of applications are distributed by app stores, just like native applications. Although there are differences, users in general cannot distinguish between native applications and hybrid applications.


Pros:

  • They are faster to develop since the development process is the same as follow by web development and small amount of native coding is necessary.
  • The tools for developing hybrid applications are evolving and maturing rapidly getting closer to native tools.
  • Hybrid Applications can be deployed in app stores.
  • They provide the best of both worlds, native apps + HTML5.
  • These applications can work without Internet connection.

Cons:

  • They are not native apps despite of being packed by a native wrapper. The web engine is the one provided by the platform and so the performance is not the same as a native app.
  • No frequent updates (in the case of offline caching).
Lastly, at the moment of deciding what type of application is needed for your business there are some aspects should be considered carefully.
  • Deciding how important is speed and performance.
  • Determining if Internet access is necessary.
  • Allocating the necessary budget for developing the application.
  • Choosing between using device’s built-in features or not.
  • Adopting an advertisement strategy (monetize the application).
  • Focusing on your target users (specific market/platform dependent).


Some sources:

No comments: