Comparison of Mobile SDKsFri 27 May 2011
I have been toying and testing phones and their SDKs lately. All I can say is wow how are people putting up with this shit.Don't get me started on the quality user experience of the touch screen. Here's a quick run down of the developer options.
RIM: no emulators or SDK for anything but Windows. Given Windows non-existence in mobile and suicide pact with Nokia , it's hard to fathom what RIM is going for here. Maybe they are sitting on a fence getting ready for Droid? I didn't even test this as I can't run Windows as a serious developer, if there is no SDK for MacOS or Linux there's no SDK.
iOS: no SDK unless you pay. WTF? Did I travel back in time? Anyway, after you pay $4.99/download or $99 a year to be on their market . The SDK only runs on iOS/MacOS. Again here this is pretty lame given MacOS' traditional inability to work with VM hypervisors on other platforms (even if you figure it out with osx86 it isn't legal). But at least it runs on one acceptable developer platform. The emulator sucks for general testing, and it uses a language no one should have to know (ObjectiveC). It's got a nasty looking IDE that makes emacs look appealling , but it basically works.
Droid: their SDK is free for Mac, Windows, Linux. Emulators for a plethora of phones, an easy to use VM manager for them where you can tweak screens, memory, phone features, etc. The SDK plugs right into Eclipse, the most popular IDE. The SDK and VM tools have worked for me on all platforms BUT on Windows its a bit of a second class citizen, without a decent underlying OS you end up having to use Cygwin to be comfortable - or just give in and throw Linux in a VM. But like RIM's option , running a phone VM inside another VM is pretty slow and annoying. Still with the great support of Eclipse and running on MacOS and Linux it's pretty hard to beat this option. Using Java and being integrated into Eclipse makes the learning curve that much shorter than other platforms.
I haven't tried HP WebOS but the SDK is free and to register to be in their market you don't have to pay but you need Paypal to signup.
The inability to use your IDE with the SDK , and use your normal keyboard+mouse setup to develop and test really makes iOS hard to test on. It's dramatically slower than Droid for working.