Forgive me if this question has already been answered but I couldn't quite find the answer I was looking for. What I wanted to know was, is there any significant advantage to using a native language when developing and deploying apps to a mobile environment?

The reason I ask is for a long while now I've been using Objective-C, Apple's native language for iOS, to build my apps. However I've been wondering whether or not there is any real benefit to doing this, over using a non-native language like JavaScript and then deploying it through a service like 'Phone Gap'?

I do stress 'significant' advantages as native languages are always more likely to have the upper hand when it comes to speed and access to the latest APIs. However in general I don't see using a non-native language or a service like 'Phone Gap' causing and major slow down to my apps or restricting my development. Additionally having the ability to deploy to multiple services is also very handy indeed.

This is why I put the question, are there any significant advantages to using a native language for mobile app development?


There are some significant advantages to using native code over PhoneGap and other non-native languages. Obviously in your question you noted some of these already, but in the eyes of the consumer, these development advantages translate to customer advantages:

  1. Native languages expose all of the device's core functionality through direct APIs, compared to PhoneGap (and others) which render web technologies (HTML5, JavaScript) on the device in a "compiled" state.
  2. Native languages are much faster than JavaScript for data processing on the device.
  3. You have the advantage of leveraging 3rd-party SDKs designed for the device's native language.
  4. App performance, quality, and stability translate directly to customer success and, ultimately, success of the app. Here is an excellent article about how Facebook's experience with both HTML5 and native apps affected their business: http://www.theregister.co.uk/2012/09/14/facebook_html_5_vs_native_apps/
  5. Design and UX can be more carefully tailored to device-specific UX. iOS doesn't behave the same way Android or Windows Phone do, and building a 'one-size-fits-all' app makes it difficult to respect those unique UX traits. (Caveat: you can handle this with non-native languages too, but it translates to complex code/logic).
  • Nice summary of points, clear, concise and backed up with references. Perfect. Definitely made me consider sticking with Objective-C however I'll make my decisions on a scenario by scenario basis. Thanks! – Kolors Nov 4 '13 at 23:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.