Difference between Native, Hybrid and Web Application

Most organizations have started mobile presence for their business which demands more and more great mobile experience on mobile devices. When developing a mobile interface, most important question would be which technology to choose. Should it be a Native app? Web app? or Hybrid app? There is no right answer or one best option for this. Each approach entails some strength and weakness which need many parameters to consider some of them are.

  • Target audience
  • Budget
  • Project timeframe
  • Target platforms
  • Features and functionality – What features would be used in the app
  • Available developer with skills
  • What phone user use
  • What are their mobile needs.

Finding the one best approach could be a challenging task, but by considering these parameters and knowing the pros and cons of each approach. It can be identified which approach is best fit for an organization requirement.

What is Native Application?

A Native app is a software written for mobile devices that is developed to use on a specific platform (iOS, Android, Window etc.) It has binary executable files that are download directly to the device and stored locally. Majority of the code and assets reside on the phone. Native app can be downloaded by visiting the app store (Apple app store, Android marketplace).

The native app can access all the available APIs by the OS vendor or can access all the device’s hardware (camera, GPS, contact list, calendar etc.) but code written for one mobile platform cannot be used on another. For every platform different code need to be developed. To better understand the native app let’s understand the API.

Application Programming Interface (API)

An installed application when launched by the user it interacts with the mobile operating systems through API calls. Through these API calls, app can interact directly with the touch screen, render graphics, Sound, Videos from the camera, GPS, Orientation information and access other hardware elements and the GUI toolkit – Each mobile comes with its own set of user interface components, such as menu, buttons, input field, sliders, tab bars, menus bar, dialog box and so on, all these APIs are accessible for native app.

Different tools and languages used in Native App

Freatures Apple iOS Android BlackBerry OS Window Phone
Languages Objective C, C, C++ Java, C, C++ Java C#, VB.NET etc.
Application Store Apple App Store Google Play BlackBerry App World Window Phone Market
Packaging Format .app .apk .cod .xap

Pros and Cons of native app

Pros Cons
  • Richness of experience (Sophisticated gestural interface, Instant UI response times).
  • Offline capability.
  • Integration with all the phone’s features.
  • Presence on an app store.
  • Platform specific development
  • High maintenance cost
  • App store owner act as a gatekeeper and Apple is strict with their submission process, which includes rules on sharing data and a 30% cut of all revenue.

What is Mobile Web Application?

A web app can be accessed by any device that has a browser and modern mobile devices consists of browser with support of HTML5, CSS3 and advance JavaScript. Web apps run within the browser and browser is itself a native app that has direct access to the OS APIs but only a limited number of APIs can be access by a web app.

There are great JavaScript framework such as Sencha Touch, jQuery Mobile, Kendo and more… to get the native looking applications.

When the term web comes up there are further two different approaches for web.

  1. Mobile website
  2. Mobile web app

Mobile website vs Mobile web app

Website vs Web App
Mobile web app or mobile website both are accessed on a handheld device. A mobile website is similar to any other website but it is designed not only for the smaller devices but also for desktop using the responsive design approach and apps are designed and developed specifically for mobile device, both are accessed via the browser, but they have differences. For a mobile website each time a new page is accessed, the device will download all the page contents (HTML, CSS, JavaScript and data) and in the case of web app download occurs on the initial visit and stored locally.

Feature Mobile web apps Mobile websites
Tools and knowledge HTML, CSS and JavaScript + Mobile development framework (like jQuery Mobile, Sencha Touch) HTML, CSS and JavaScript
Execution By entering a URL By entering a URL on a browser
User experience Touch friendly, Interactive UI Navigational UI between pages

Pros and Cons of web app

Pros Cons
  • Web apps work on all platforms
  • Cost to build and maintenance is lower
  • Updates are easy and no need for submission or approval from app store.
  • Richer and faster experience if comparing with mobile website
  • Initial download is quite large which requires a good connection.
  • Richness of native app experience is missed.
  • Mobile features that are locked from browser cannot be used.
  • You cannot sale your app in app store.

What is Hybrid Application?

Hybrid Application = Mobile Network + Web TechnologyBetween the native app and web app there is another approach called Hybrid. It is just like a native app that downloaded from app stores. It combines the native development with web technology. It is built using the web technology and wrapped in a platform specific shell. Phonegap is an example of a framework that take a web app and turn it into a native app for iOS, Android, BlackBerry, Window7. Symbion and more. These hybrid frameworks have APIs that allow access to the mobile hardware that are locked from the browser. That means web app have access to limited set of API but hybrid can access almost all APIs.

Pros and Cons of Hybrid app

Pros Cons
  • Easy to build and maintenance across multiple platforms because of small amount of platform-specific native code and maximum web technology.
  • Greater native support.
  • Only change to native code would require resubmission to app stores.
  • Cannot handle heavy graphics
  • Familiarity with a mobile framework is required.

Hybrid app can access the APIs which are locked by browser for web app

Feature Native app Hybrid app Web app
Development Language OS specific such as C, C++, Java etc. HTML5, CSS, JavaScript + Mobile Framework Like PhoneGap, Titanium HTML5, CSS, JavaScript + Mobile Framework Like jQuery Mobile, Sencha Touch
Phone features access High High Medium
Platform Single Multiple Multiple
Advance Graphics High Medium Medium
Upgrade flexibility Low Medium High
Audience reach Low Medium Medium

Some Scenarios to use native approach

  • If a company primarily interacts with mostly offline, then you don’t really need a web app.
  • For an internal application which is distributed within an organization that issue a specific device (BlackBerry or any other) to their employees, native will be the right approach.
  • For a rich UI application like a game application

Some Scenarios to use web app approach

  • If you want the full control on distribution of the app and its periodical updates. Web app is the right approach as distribution and updates in native app is a long and uncertain approval process.
  • If more and more users of application start to access the internet from their mobile devices than web app is a right approach.
  • If the application need to be expose for larger audience than web app is the right approach because of its visibility in search engine.

Some Scenarios to use hybrid approach

  • If the required application need to access the different features and capabilities of the modern mobile devices and these features of mobile or APIs are not open for browser then Hybrid app should be the right choice.
  • If the budget and time is not enough Hybrid approach will be right as web development skill are very common and can be easily found in many organizations and using the web skills application can be delivered with a native like experience.

Conclusion

Any single approach cannot be considered as magic bullet for all need, each approach carries inherent limitations and complexity. One organization need may be different than other. Optimal approach for mobile application depends on the customer, business need and the experience which need to deliver. Choosing the right approach before starting is the is a crucial decision, different parameters need to be considered for taking the right decision.

Author: Gopal Juneja

A UI/UX enthusiast living in India Delhi having 12+ years of industry experience to use in beautiful design and handsome HTML coding.

1 thought on “Difference between Native, Hybrid and Web Application”

  1. Hi Gopal Juneja,
    This is really awesome article to explain about the approach for native, hybrid and web app.

    thanks for sharing this, and keep going on.

Leave a Reply

Your email address will not be published.