For the best market penetration, a cross-platform mobile app is essential. Today, the three major operating systems for apps are Apple's iOS, Microsoft's Windows Phone and Google's Android. Developing for all three of these will ensure that you have the broadest spectrum of reach. Unfortunately, each of these platforms requires that the application be separately compiled.
Cross-Platform App Development Kits
Rather than using each system's app development kit, developers can instead use a third part cross-platform kit. There are a multitude of third party app development kits that can port out to all three platforms with minimal changes. This saves on both development time and cost -- though it does require that you find a developer who is knowledgeable about these solutions. Some cross-platform app development kits can be a little expensive, but there are other open source options; it all comes down to how much you expect to do within your app.
Using HTML5 for a Cross-Platform Solution
If your application is simple, building it in HTML5 is a fast way to create a cross-platform solution. Once built in HTML5, the website can be "wrapped" for each platform individually. Because HTML5 is standardized, it can be run on any system. The wrapper will simply create native controls for the app. The downside to this type of solution is that it cannot be used for more complex apps; it's limited to HTML5's capabilities. But it is the ideal solution for many lightweight apps, especially because HTML5 development tends to be fairly rapid.
Porting from One Platform to Another
If you already have an application in one platform -- or if your app developer is knowledgeable about a specific platform over another -- you may want to port from one platform to another. There are software solutions that make it easy to import an existing application and port it out, and if you already have an app it's easier than trying to build the app from the ground up. However, if you don't have an app yet, this is usually a lengthier process than simply developing for all platforms at once.
The best app developers will be able to program a cross-platform application from the very beginning, but they do need to know that you're interested in cross-platform capability from the very start. It's much easier to develop a cross-platform app all at once than to try to port it from one platform to another later on, if the option is available.