Make no mistake: The enterprise is getting serious about developing and delivering mobile business apps. But whether the goal is to spread news, sell products, collaborate with business partners, or push mobile apps as products in themselves, the constant emergence and evolution of mobile platforms have many IT organizations wondering how best to execute the vision -- and what tools and methodologies they should implement to deliver their apps to the right audience at the right time, regardless of device.
Some of these emerging business apps have short lifetimes by design, such as event guidebooks, while others will persist for years. Some, like augmented reality viewers, need constant real-time information and access to low-level handset capabilities such as geolocation, camera, and motion sensors. Others require little more than a mobile screen and the user's finger. But there is one commonality: Every business wants IT to develop apps as quickly and cheaply as possible, and many want the apps IT creates to run on multiple device types -- Android, iOS, and Windows at least.
[ Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]
Not surprisingly, such diverse requirements have spawned a huge array of development tools. Navigating the sea of options can be tricky, as no one tool offers the trifecta of fast, cheap, feature-rich app delivery. If your organization isn't careful, you could find yourself boxed in to a development choice that doesn't grow with user needs, as Facebook discovered when it realized HTML5 wasn't the best approach for its iOS app.
Carefully assessing your prospective app's current and future requirements is key, as is balancing those requirements with the time it takes to get your app to market. Don't feel you have to choose a single platform for every app. It's reasonable to employ multiple development platforms to meet a variety of delivery requirements. The following is a primer on how to make the right choices for your mobile development needs.
Mobile app development's three golden paths
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.