What is a hybrid app? Hybrid apps are a combination of JavaScript, CSS and HTML compiled inside a wrapper like PhoneGap that allows these files to run directly on a device. While there are some downsides to using hybrid apps compared to native coding apps, the downsides are becoming less and less as technologies advance. Frameworks and libraries like Ionic, AngularJS, Kendo UI, and even the tried and true JQuery Mobile continue to advance and make things better.
So let's look at a few myths:
Speed: Hybrid apps used to be a lot slower than native apps. But, as processors get faster and libraries get more responsive, the majority of apps users cannot tell the difference.
Device Function: With access to plugins there are not many features that hybrid apps cannot access now. Camera, contacts, GPS position, Touch ID, there are plugins for just about anything.
Look: Many people believe that a hybrid app may get rejected because it doesn’t look like a native app. This really isn’t true. As long as you use a clean design, even Apple doesn’t care if the app is hybrid - as long as it looks good and does what it should. There are a lot of native apps that get rejected; it's not only hybrid ones.
Of course there may be a few exceptions where developers need to go native for their app. 3D games or complex animations can still require the performance of native coding. But from a business standpoint, there are a lot of advantages to hybrid mobile apps.
- One base code for different platforms - no learning multiple languages
- Develop apps on any system for multiple platforms
- Get to the market faster - one base code means when one platform is ready they are all ready
There are, however, some downsides to going hybrid. iOS especially is famous for releasing an update that can break hybrid apps. A simple change in their operating system and the plugins cease to function correctly. This actually happened on the release of iOS 8 when the geolocation PhoneGap plugin stopped working.
It's certainly worth a look at both hybrid and native apps for each project. Weigh your needs and do some research; don’t get stuck using a single technology on either side.
Happy coding.
About the Author | ||
Brandon Batie was raised by Llamas in a small village in Peru, uh, mobile developer Llamas, that is. He now works at Genuitec thinking up and writing mobile app tutorials for MyEclipse. He loves to munch on the latest frameworks and libraries to see what they offer and what might be coming down the road. |