As smartphone and tablet use skyrockets, companies are developing mobile applications for customers and end users. Sixty-four percent of respondents to InformationWeek's 2011 Mobile Device Management and Security Survey say they're developing or planning to develop business apps.
If your company is considering creating its own mobile apps, you must understand the development landscape. The platform you target, be it Android, BlackBerry, iOS, or Windows, has a preferred language. If you want to write an app that will run on multiple platforms, you can either write it in each platform's preferred language or use a third-party tool to generate code for different platforms. This second approach can save time and effort, though it may affect usability.
To help you determine your best approach, we'll examine development tools offered by Apple, Google, Microsoft, and Research In Motion, as well as at two popular cross-platform tools: Air and PhoneGap.
The Test Environment
I used four smartphones to test the development tools: Motorola Droid running Android 2.3.5, Apple's iPhone version 4.2.1, Windows Phone version 7.5, and BlackBerry Bold version 7. I also looked at the BlackBerry PlayBook version 1 tablet. In general, the devices offer a similar user experience. The real distinctions are on the developer side; when it comes to writing applications native to each platform, the differences are stark.
The four mobile platforms offer virtual devices that let developers write and debug programs without the actual mobile hardware. The virtual devices run on a developer's PC, emulate the mobile hardware, and execute the mobile environment. The developer interacts with the virtual device via the keyboard and mouse.
Android provides developers with the most freedom to choose an OS on which to develop applications. Developers can use Windows, Mac, or Linux. BlackBerry users can choose between Mac or Windows, and a Linux option is on the way. If you want to develop for iOS or Windows devices, your only option is Mac and Windows, respectively. Let's take a look at each platform's development tools.
Download InformationWeek's July supplement on mobile application development.