title: Mobile development - Native VS Cross Platform VS JavaScript
body: <p>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.</p>
  
  <p>We will be aiming primarily at iOS and Android , secondary for Windows-Mobile and BlackBerry.</p>
  
  <p><strong>Candidates:</strong></p>
  
  <p>After conducting some background research, I found the following possible candidates:</p>
  
  <ul>
  <li><p><strong>Native</strong> - Simply but laboriously develop for each platform with its native tools and language.</p></li>
  <li><p><strong>HTML5, CSS and JavaScript</strong> - Could be a web service running on the device's browser (a website) , or an app which incapsulate such code around WebKit.</p></li>
  <li><p><strong>Rho mobile</strong> - 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. </p></li>
  <li><p><strong>PhoneGap</strong> - It seems easy and mostly based on Javascript - It is open source but lately acquired by adobe - (not a good sign)</p></li>
  <li><p><strong>Appcelerator</strong> - 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. </p></li>
  <li><p>And more like MoSync, Sencha, Appmobi and Corona (didn't tested them first hand).</p></li>
  </ul>
  
  <p><strong>Some points of reference:</strong></p>
  
  <ul>
  <li><p>We are not planning on developing games, the applications we are planning to develop are in the realm of business applications &amp; information tools.</p></li>
  <li><p>The applications are not depending on excessive use of the devices API's (but do need some minor basic access)</p></li>
  <li><p>The company already developed for iOS and we have a small team of native iOS developers (Objective-C geeks)</p></li>
  <li><p>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</p></li>
  <li><p>It will be beneficial to ensure before hand that the application will not be rejected due to cross platform code (mostly AppStore)</p></li>
  <li><p>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.</p></li>
  </ul>
  
  <p>There is no better place to ask this question than StackOverflow, I would appreciate any comments from developers with experience on this topic.</p>