Cross platform
Android has overtaken iOS in terms of market share, but the best apps are often only available on iOS (iPhone or iPad). This is partly because developers are attracted to develop for iOS because of the coding environment, and the limited number of devices to be catered for. If you want your app to be available to the widest audience, you need to consider developing for both.
Working with developers
The usual way to develop apps is to use the native coding environment – Objective C for iOS, and Java for Android. This results in the smoothest and most efficient end product. However it comes at a cost, but depending on the functionality required, it can be worth it. At Vivid, I worked with two developers to produce a cross-platform pronunciation app for Macmillan – Sounds, available on Apple's app store and the Android market.
Using Titanium and Phonegap
When the app's functionality is not processor heavy or memory hungry, there is a more cost effective alternative. SDK's such as Phonegap or Titanium can be used to create cross-platform apps in HTML, CSS and javascript, using one codebase for both products.
I have created a Phonegap app for Vivid – Rounding, available on Apple's app store and the Android Market. I've also been working on an iPad e-reader using Titanium (not yet released).
Another advantage of this approach is that the code can be deployed easily on the web.