Skip to main content
search

© 2021 Excellerate. All Rights Reserved

Software DevelopmentTechnology and IT

Mobile App Development: Native vs Hybrid

By March 2, 2016No Comments

With the increased usage of mobile phones, most customer-serving companies are building mobile applications. Mobile apps are no longer an option, but imperative.
The world of mobile development is an exciting yet confusing place. The moment you consider building a mobile app you are faced with a set of questions:

  • Should I target Android, iOS or both?
  • Should I go for a native, hybrid or web app?
  • (and most importantly) Which approach is best suited for MY application?


While there is no definitive answer as to which type of app you should use, answering a few basic questions could help you decide what is best for your application:

  • What platforms are you targeting?
  • What amount of native functionality will your app require?
  • What is the time to market?
  • How often would you need to update your app?
  • What amount of customization do you need?
  • Are you targeting both web and mobile applications? Eg: Some frameworks like mobile angular UI support all mobile platforms and all web platforms with responsiveness with one single code base.

Answering these questions will help clear your thoughts on deciding the type of mobile app to be developed – native, hybrid or web.
Before we dig deeper, let us look at what it means to be native and hybrid…
Native App

  • The term “native app” is often mentioned in the context of mobile computing because mobile applications have traditionally been written to work on a specific device platform.
  • A native app is an application program that has been developed for use on a particular platform or device using the development tools and programming language that the respective platform supports (e.g., Xcode and Objective-C with iOS, Eclipse and Java with Android). Native apps can offer great visual experience and performance.

Web App

  • Web apps are simply web pages that are designed to look like an app.
  • An “app” like this loads within a mobile browser, like Safari or Chrome, like every other website.
  • Users do not have to install it on the device as such, they are bookmarked web pages.

Hybrid App

  • A hybrid application is basically a native application with embedded HTML.
  • It has all the benefits of native apps like full access to OS APIs, app-store presence, etc.
  • Selected portions of the app can be written using web technologies.
  • Hybrid apps make it possible to embed HTML5 apps inside a thin native container, combining the elements of native and HTML5 apps.
  • With several new frameworks pouring in every couple of months, hybrid apps are steadily catching up with native on the performance front.

The following diagram depicts the difference between Native, Hybrid and Web Apps:
Native-Hybrid-and-WebApps
Why hybrid?
Some of the distinguishing benefits of hybrid app are the following:

  • One code runs everywhere – all mobile platforms as well desktops – which saves you money and time (which saves you even more money ;))
  • Time to market is comparatively less.
  • Allows you access to native functionalities as well as javascript libraries, and the combination serves as a powerful development base for your application.
  • CSS is powerful.  You can customize almost anything right from headers to switches to transitions. Several UI frameworks now have built-in transitions which are hardware accelerated giving your users a smooth experience.

Summarizing all the benefits, hybrid app development is a viable option for most projects.
Which Hybrid Framework do I use?
When you have decided to do the hybrid app development, you are again faced with a challenging question – which framework do I use now? With the endless list of hybrid frameworks available, each with its own set of strengths and distinguishing factors it can get really tricky to analyse each of them and reach a conclusion.
To resolve this confusion, we have done a comparative study of some of the popular hybrid frameworks – Jquery Mobile, Mobile Angular UI and Iconic.

 Jquery Mobile Mobile Angular UI Ionic
Supports all mobile devices and all desktop browsers. Supports all mobile devices and all desktop browsers. Supports android and iOS. Minimal windows phone support. No guaranteed support for browsers.
Well suited for simple applications. Not well suited for applications having complex UI/DOM manipulations. Well suited for applications that require binding and have complex UI. Well suited for applications that require binding and have complex UI.
UI appears similar on all devices. However, can be configured using device type checks. UI appears similar on all devices. However, can be configured using device type checks. Native focussed. Same code renders differently on different OS giving the application a more native feel.
Create your own theme using theme roller. Themes can be created using CSS. Themes can be created using CSS.
No built in responsiveness. Need to include third party libraries for it. Uses Bootstrap3 internally for responsiveness. Offers built in responsive grid support.

To Summarize..
There is no one-size-fits-all. This blog post simply summarizes factors to consider before starting development or resources planning.  With the new hybrid frameworks like Ionic, Onsen, etc. becoming more mature, one cannot assume that hybrid apps perform worse anymore. Some of the popular and best performing hybrid apps are Evernote, Twitter, Apple App Store, Uber and our very own Gmail!
In fact, a recent Gartner report says that by next year more developers will be going the hybrid way and by another account, the average end user ratings of hybrid apps are already 12 percent better than native apps.