I’ve been focusing exclusively on iPhone development lately and only briefly looked at the Android SDK back when the G1 was just a glimmer in T-Mobile customers’ eyes. Without a doubt the iPhone App Store is the place to sell mobile applications right now. The Android Market simply can’t compete (at least, according to every single cross-platform development anecdote and statistic I’ve seen) when it comes to the rate of apps being sold. However, it’s likely to become a bit more competitive with some of the new Android devices that are coming out.
Motorola’s Droid is probably the most-discussed of the bunch, with beefy specs and a pretty slick design (and marketing campaign to boot). From a feature standpoint it’s enough to make an iPhone geek want to jump ship. Whether or not the new batch of Android phones will catch on with consumers is yet to be seen, but we know that developers are getting on board.
Now, I’m not about to ditch Interface Builder for the paltry Android equivalents and start churning out mountains of XML, but the hype is enough to make me give some form of Android development a second look. I’ve always felt that cross-platform development is less than ideal. Some cross-platform mobile development tools rely heavily on web views or not-quite-native controls to get things done. You write HTML, and they stick it in the native platform’s WebKit view and call it a day. Compared to an application developed with the native APIs you get something that is slower, looks worse, and behaves in very strange ways. You can’t build the type of experience that the hardcore iPhone fans will pay for that way.
Enter Appcelerator Titanium.
Objective-C is a bit of a breath of fresh air. Using familiar HTML and CSS markup to define layouts is great compared to configuring UITableViewCell objects on the iPhone.
The best part is that it actually does work! Despite a few obscure bugs in the Titanium library my quick-and-dirty Mobomo Blog Reader application was fairly simple to develop.
In short, I am willing to give iPhone/Android cross-development a chance for many types of apps with Titanium, and I’m interested to see where the platform goes.