Hybrid vs Native Development

There is a war of words in the development community when it comes to the core approach to mobile app development: use cross platform hybrid development or use native languages.

Cross Platform Apps with Hybrid or Native Development

There is a strong argument for both.

Hybrid Development

The approach to Hybrid Development is to work with HTML5 container technologies (HTML, JavaScript and CSS) such as PhoneGap or cross-platform solutions, such as Titanium, Xamarin or Cordova that use JavaScript, C# and LUA for your development. Whichever framework you use the end result is that you will be able to build one set of code that will publish apps to multiple platforms such as Android, iOS, and Windows. This is the “silver bullet” approach to development that JAVA started in the ’90s. One Language to Rule Them All.

What I have found is that for proofs of concepts, small projects and solutions that do not have too many service connections (RESTful or Web Services) then Hybrid Development can be effective. My personal favorite is PhoneGap for the simple reason that HTML/JavaScript are languages I am familiar with and it is easier to hire Web developers. POCs and Mockups are easy to create and show running on multiple platforms.

The place where Hybrid development starts to fall short is when there is a need for a complex solution that leverages native APIs on the device, interfaces with complex back-office systems (such as your ERP or CRM) or needs to scale to millions of users.

Native Development

Native development refers to building solutions on a platform that are based on the recommendations from the OS owner. For instance, Apple recommends working with Xcode and Objective-C for iOS development, Google recommends Eclipse with Java/C++ and Microsoft recommends Visual Studio and C#.

Each of these development environments and languages are not new. They are mature, stable and have proven their effectiveness in millions of applications. At one point in time it was expensive to hire iOS and Android developers but there are more people now with these core skills and the prices point between Hybrid and Native developers is closing.

Native Development gives you access to mature frameworks and APIs. In particular, iOS is now on greater than 78% of all iOS devices, giving developers a unique opportunity to develop with the latest and greatest APIs (such as iBeacon) without requiring the need to support a decade of legacy devices.

Which is Better: Hybrid or Native?

At the end of the day, there is an argument for both. My preference for consumer solutions is to always go native, but there is no reason why POCs should not be done in PhoneGap to validate a solution.

Which platform do you prefer and why?

6 thoughts on “Hybrid vs Native Development”

  1. Im firmly in the native camp on this one. As much as I think there is a place for things like PhoneGap and other hybrids. However I also associate a risk with these when OS updates come out, something may break and you need to wait for the underlying tools to be updated. With native you can handle this a lot better.

  2. I believe today, Hybrid is a great option if your goal is to take content that is already displayed on the web in some fashion and build something that can now be accessible via an app store application. Taking marketing info, menus, shopping, etc. and making that content available via an app on multiple platforms is a sweet-spot for Hybrid solutions today.

    If you are attempting to build a commercial quality application that needs to implement complex calculations/logic/etc on the handheld… and especially if you need to do that in a environment that needs to work even when you don’t have access to the internet, it’s been my experience that native is solidly the way to go.

    With all that said, the mobile development world is changing/advancing so rapidly right now, a professional really needs to regularly evaluate the tools/market on a 3-6 month increment as tech is changing that fast and it would be easy to miss new products/tools that may fill the gap(s) that exists today.

    1. Great comments. Your last paragraph is very appropriate. I had a little time on Friday and ran the latest build of PhoneGap to see what has changed. The fact that I could not get the solution to build an Android app on my Mavericks Mac was not a good start.

Leave a Reply