Mobile App Development:  Cross Platform Or Native?

Mobile App Development:  Cross Platform Or Native?

Posted by: Mark Fuqua

Cross Platform Vs. Native

When developing mobile applications, one of the first decisions to make is whether to develop the application in a native language or use a cross platform development framework like Sencha Touch and PhoneGap or Adobe Flex for Mobile. While both approaches have their advantages and drawbacks, for most business applications, the advantages offered by cross platform frameworks make them the best choice.

Forgetting about Windows phones for a moment (they're likely to become a player in the next few years, but at present represent a very small portion of smart phone sales and zero tablet sales), native mobile applications are developed in two languages: iPhone uses Objective-C and Cocoa Touch, while Android uses Java. At first glance, native application development seems to be the way to go. You get the best performance, the tightest integration with platform specific features and very familiar user interface for each phone. And frankly, in an ideal world, there would be little need for other considerations...native is best.

We Don't Live In An Ideal World

However, we don't live in an ideal world. Native development is time-consuming and expensive. In addition, whether you spend the time and money to develop for Android or iPhone, you have to start from scratch when you decide to develop the application for the other platform. When developing business applications for internal use, unless you have standardized on one platform and provided everyone with the same phone, you need to develop for both iPhone and Android simultaneously.

Additionally, most mobile business applications do not need the same level of performance that some high-end, graphic intensive games do. They primarily need to connect to data in the cloud, show that data in the app and collect data from end users. These are perfect use cases for either a PhoneGap or Adobe Air application, two of the most common cross platform frameworks. Both offer great value: quick development, lower costs, cross-platform compatibility, more than acceptable performance and, in the case of Adobe Air, utilizing the Flex framework, the ability to reuse much of the code in desktop applications as well.

If you´re looking to do game development and possibly even if you are developing a productivity application which you plan to sell on the iTunes app store, it may be worth the time and expense to develop your application natively. However, for most business applications, the advantages offered by cross platform frameworks such as PhoneGap or Adobe Air makes them the best choice.