SDK Shoot Out, Android Vs. IPhone
snydeq writes "Fatal Exception's Neil McAllister delves into the Android and iPhone SDKs to help sort out which will be the best bet for developers now that technical details of the first Android smartphone have been announced. Whereas the iPhone requires an Intel-based Mac running OS X 10.5.4 or later, ADC membership, and familiarity with proprietary Mac OS X dev tools, the standard IDE for Android is Eclipse. And because most tasks can be performed with command-line tools, you can expert third parties to develop Android SDK plug-ins for other IDEs. Objective-C, used almost nowhere outside Apple, is required for iPhone UI development, while app-level Android programming is done in Java. 'By just about any measure, Google's Android is more open and developer-friendly than the iPhone,' McAllister writes, noting Apple's gag order restrictions on documentation, proprietary software requirements to view training videos, and right to reject your finished app from the sole distribution channel for iPhone. This openness is, of course, essential to Android's prospects. 'Based on raw market share alone, the iPhone seems likely to remain the smartphone developer's platform of choice — especially when ISVs can translate that market share into application sales,' McAllister writes. 'Sound familiar? In this race, Apple is taking a page from Microsoft's book, while Google looks suspiciously like Linux.'"
If I was developing for smartphones that would be the deal breaker for me. Invest a lot of time and effort into some great app and then Apple just up and decides to reject it, because they want to sell theirs with no competition (or they just don't like it)? No way I would work on that platform.
A cross-platform toolchain
This toolchain is in Java, which, for all its problems, is a huge step better than Apple's Objective C.
I think you knew that, but I just want to make it clear to other readers.
Infuriate left and right
We may actually be able to buy one...Twice I was looking to buy a iphone with cash in hand and could not
get one due to unavailability....screw apple they are not getting a dime of my money.
Also 90% of the worlds computers can me used as a android development platform, no need to buy a mac for development.
I can hear the old monkey boy chant now developers!, developers!, developers! Android lowers the cost of entry to near zero, good luck iphone.
Got Code?
You're right, but as of now, developers are not what makes a phone.
True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
I disagree with your point about Objective-C being a language you can pick up in a few hours. I have not used ObjC since they began including an automatic garbage collector, but I remember memory management being confusing (not quite automatic and not quite manual) and the syntax to be somewhat hard to grasp. It is not a hard language, and the tools are great, once they are figured out, but Java/Eclipse was much easier to hit the ground running. And to say ObjC is as easy as Ruby or Python is ludicrous.
It's true that you need to pay $99 to be able to put the app on a real device, though.
And several thousand for an Apple computer to run the dev apps on.
In this race, Apple is taking a page from Microsoft's book, while Google looks suspiciously like Linux.
It's more like Apple is taking a page from Apple's book and Google looks suspiciously like Microsoft.
For all their faults, Microsoft have always been more developer friendly than Apple.
I'm not sure what you mean. If you mean that Microsoft was/is less likely to screw their developers, then I think I disagree. If you mean that Microsoft supplies better [free] tools to their developers, then I'm sure I disagree.
Those kinds of statements are the typical phrases people with an agenda use to try to influence people and sneak fabricated facts into their language.
There is no evidence that the iPhone is "the smartphone developer's platform of choice". Given the number of applications and the number of developers, one of J2ME, Symbian, or Windows Mobile is likely on top.
Given the limitations of the iPhone, it's questionable whether it should even be called a "smart phone".