Mobile development - Native VS Cross Platform VS JavaScript

Oliver Blint picture Oliver Blint · Jan 14, 2012 · Viewed 10.7k times · Source

Our company will soon start developing few products for mobile platforms, as CTO I was asked to examine the Pro and Cons of the different tools available in order to achieve the best quality / cost effective solution.

We will be aiming primarily at iOS and Android , secondary for Windows-Mobile and BlackBerry.

Candidates:

After conducting some background research, I found the following possible candidates:

  • Native - Simply but laboriously develop for each platform with its native tools and language.

  • HTML5, CSS and JavaScript - Could be a web service running on the device's browser (a website) , or an app which incapsulate such code around WebKit.

  • Rho mobile - Made by Google so it ought to be good - nevertheless based on Ruby (which we are not comfortable with) and does have a complex and rather flimsy dev environment.

  • PhoneGap - It seems easy and mostly based on Javascript - It is open source but lately acquired by adobe - (not a good sign)

  • Appcelerator - Anything from Javascript to PHP and to python, have a nice range of API Access but we heard many stories of rejection (by apple), and incompatibilities when using complex code across different platforms.

  • And more like MoSync, Sencha, Appmobi and Corona (didn't tested them first hand).

Some points of reference:

  • We are not planning on developing games, the applications we are planning to develop are in the realm of business applications & information tools.

  • The applications are not depending on excessive use of the devices API's (but do need some minor basic access)

  • The company already developed for iOS and we have a small team of native iOS developers (Objective-C geeks)

  • We would like to be sure that we can carry on developing our applications in the feature without them getting broken due to new OS or APIs

  • It will be beneficial to ensure before hand that the application will not be rejected due to cross platform code (mostly AppStore)

  • Like any company we would like to be as cost effective as we can - on the other hand we insist on high quality products and top-of-the-line User experience.

There is no better place to ask this question than StackOverflow, I would appreciate any comments from developers with experience on this topic.

Answer

Peter Knego picture Peter Knego · Jan 14, 2012

There are 500k+ apps on the app markets and competition is fierce. It is paramount to have great UX and graphics.

Cross-platform tools are NOT on par with native development. If they were, we would all be using them. But we are not. With a reason - you do NOT have full control. And full-control is necessary to have great looking apps.

If your app is not a consumer app, but an enterprise app, which use is dictated by some internal department, then you might get by with so-so design, because the value of such app is in it's functionality.

But, if you are serious about mobile apps market - then the only way is to go native. And you need an UX guy and a designer (who knows mobile development) on team full time. You will spend upwards of 50% of time on looks. The project that I'm part of now is spending 80%+ of time on looks (graphics, animations, UX, usability testing).

A suggestion: spend a reasonable amount of time (= days) using you competitors apps. Also spend time with top 50 apps on each market. You will get a feeling how high the bar is. Then check apps made with cross-platform tools (you can find links on their sites) and compare.