In the fast-moving world of smartphones, application developers must make 
choices: Develop native applications for Apple's iPhone or perhaps for the Palm 
Pre. Or maybe build for Symbian, the RIM BlackBerry, or Google's Android. If you 
have the time and skills, you can build your application again and again for 
different phones, using native development resources.
Or you can build applications using frameworks and Web technologies to work on 
multiple brands -- but any apps you build this way might not fully leverage some 
capabilities of specific phones.
[ Looking at mobile SDKs? Check out the InfoWorld Test Center's reviews: iPhone 
SDK vs. Android SDK | Third-party iPhone app dev tools | Palm Pre's Mojo WebOS 
SDK ]
The Tower of Babel of platform and SDK choices
Would-be mobile developers face a Tower of Babel environment, making it tough to 
figure out how -- indeed, whether -- to take the plunge into creating apps for 
the small but enticing mobile market. The pull is clear: With smartphones 
becoming more popular thanks to colorful, multimedia devices such as the iPhone, 
a whole new world of opportunity exists for developers -- along with the burden 
of learning new SDKs.
"The underlying problem is that OSes and the runtime platforms on a lot of those 
mobile devices are very different, historically," says Christian Kurzke, project 
lead for the Eclipse Mobile Tools for Java project and developer-tools architect 
at Motorola.
The result: "The different devices have very different development frameworks 
and application frameworks," notes independent analyst Bill Weinberg.
And even among phones running the same software platform, there may not be much 
unity in development. "I did some experimentation with Android, but I found that 
there were huge differences between each of the Android devices," says 
Christopher Allen, who has primarily developed for Apple's iPhone and is founder 
of the iPhoneWebDev online developer community.
Such disunity is also possible for more consistent platforms. For example, 
Verizon plans on releasing an SDK to develop Windows Mobile and BlackBerry apps 
tuned to its network, so developers might end up having different versions of 
the same app for different networks. Motorola also plans its own SDK for Android 
development with Motorola-specific libraries, though the company claims 
developers can use the tools to develop apps that run on non-Motorola devices as 
well.