Native apps vs hybrid(phonegap) apps – Which way to opt?
Mobile apps can either be built natively for IOS as well as android or using HTML5 in hybrid way. Hybrid apps are coded once and can be translated into an IOS app or an android app. Native apps have to be coded separately for each platform in different languages. So both have them have pros and cons :
One of the main features of developing mobile application using PhoneGap is the Portability, what means that An application developed for Android can be easily ported to other mobile platforms like Windows mobile by transferring the code. Phonegap build will create IOS as well as android app for you
2. Developer base
Existing web developers can be a part of PhoneGap. There is no scarcity of JS/HTML/CSS developers in the world and you can get them at cheap rate also
3. Development skills
Native apps directly access the hardware like GPS, display, CPU etc so they are faster in execution. This results in a better user experience. Ex: a screen with list of items will scroll faster and smoothly without jerks.
Hybrid apps access hardware through a bridge which slows things down and the result is a frustrated user trying to get the screen to scroll down. Basic animations like screen transition is very slow, jerky and unsightly in these apps. These apps are harder to use.
2. Look and feel
Native apps have interface that is in-line with the standard UI for that platform as laid down by the company like Apple, Google
Hybrid/HTML5 App: Hybrid apps have one UI fits all approach which again can lead to frustrated users.
Practical implications and observations: Hybrid apps look more like slow websites embedded inside an app.
Use hybrid apps if you are low in budget, low in development skills, do not want to maintain different code bases for same app, performance and native look and feel is not that important to you.
Companies like Facebook, linkedin and started with hybrid apps and then moved to native apps. Facebook claims that their app became 100% faster after moving to native platform