Christoph Kania braindump

 

Native vs. hybrid vs. web applications on mobile devices

09.05.2012 - Christoph Kania

There are mainly three different ways to implement an app for mobile devices: native, hybrid and web. In this article I will give you a brief overview.

The classical and mostly known way to build applications for mobile devices is to code them in Objective-C (iOS), Java (Android) or whatever. This means:

  • You can use the complete API provided by the manufacturer.
  • It will run very smooth.
  • But it will run only on the specific platfrom.
  • You are bound to Apple's App Store, Google Play or other supported methods of delivery (for initial sales and future updates).
  • You can use services (distribution, payment etc.) that comes with these marketplaces.

Another way to open your functionality to mobile devices is a web app.

  • It is created with HTML(5), CSS, JavaScript -> standard technology.
  • You can use it with multiple platforms (iOS, Android etc.).
  • Distribute them as a regular website: just send a link.
  • But you cannot access hardware functions of the device (like camera, GPS etc.).
  • In most cases web apps are less costly to develop.

To close the gap between the two variants there is a third one: hybrid. Hybrid apps contains of a native part and a web part. This means you have to deploy the native part on the device (over the already mentioned channels). The web part runs on external (from the device’s point of view) servers on the net and can be managed independent from the manufacturers universe. In some cases HTML files (and reffered ressources) are embedded within the hybrid part to access them without any need of internet connection.

To make use of the API features there is a handfull of frameworks. One of these is the Open Source project PhoneGap.

Screenshot PhoneGab feature matrix
PhoneGab feature matrix

Some expamples

Hybrid

Web

Screenshot Financial Times
Web App page at the first access

Frameworks

For a detailed overview have a look at wikipedia and the Mobile Frameworks Comparison Chart.

Ressources