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.
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.