Mobile app development approaches have stratified into three variations: native, Web, and hybrid. Understanding the pros and cons of each approach is the first step in choosing a platform wisely. You're then ready to decide how complex to make your app and choose a set of target devices. If you want users to start touching your app sooner rather than later, you may have to trim back features and exploit application frameworks that simplify the delivery of features you need.
A cross-platform app doesn't have to involve tripling your project cost, but if you don't need that capability, you can save time and money by limiting your development to a single mobile OS. If you decide to target multiple device types, carefully weigh the costs, in development labor and delivery speed, of supporting more than one mobile OS.
Pure native apps deliver the best device fidelity and user experience, but require significant time and skill to produce. Pure Web apps -- including those using WebKit shells to masquerade as native apps -- are quick to deploy but have significant limitations. The latest approach, hybrid app development, combines prebuilt native containers with on-the-fly Web coding to try to achieve the best of both worlds. But this path requires you to buy into one vendor's vision of the app creation process.
Once you've chosen a development path, you're ready to go shopping for a mobile development kit. If you're new to mobile app development, expect to test-drive a number of products before committing time and treasure to one. Your first app must make a good impression, but it also needs to be delivered on time; it's a good idea to scale back expectations to make sure you don't inadvertently end up with mobile vaporware.
Mobile app-dev golden path No. 1: Native app development
Native app development for a single mobile OS is the traditional approach, but it's also the most time-consuming. Each mobile platform vendor offers completely different programming environments, and each has a unique UI style. Apple's Xcode IDE employs the proprietary Objective-C language for iOS devices, while Google's Android coders generally use the open source Eclipse IDE combined with Android's native Android Development Tools (ADT) Java programming plug-in. Microsoft offers Visual Studio Express for Windows Mobile and its Windows Phone SDK, aimed at WP7 devices, in which programmers code in the also-proprietary C#/.Net idiom.